`
zhujianjia
  • 浏览: 484180 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android 解析RSS时遇到中文无法解析的问题

阅读更多

当Android在解析XML时遇到GBK或者gb2312编码时会无法解析或者出现乱码,故需要在解析时判断一下RSS的编码方式,

并使用InputStreamReader(rssUrl.openStream(),encodingName)指明编码方式,就可以解析了。

 

//防止遇到某些编码(如GBK)时出现错误
//得到探测器代理对象 
CodepageDetectorProxy detector =   CodepageDetectorProxy.getInstance(); 
//向代理对象添加探测器 
detector.add(JChardetFacade.getInstance());   
//得到编码字符集对象 
Charset charset =  detector.detectCodepage(rssUrl); 
//得到编码名称 
String encodingName = charset.name(); 
Log.e("RssReader_Encoding", encodingName);
//指定编码生成字符流
if(encodingName.equals("GBK") || encodingName.equals("gb2312")){
	is = new InputSource(new InputStreamReader(rssUrl.openStream(),encodingName));  
}
else{
	 is = new InputSource(rssUrl.openStream());  
}
xmlreader.parse(is);

 采用一个现成的开源项目:cpdetector可以判断编码方式,它所在的网址是:http://cpdetector.sourceforge.net/。它的类库很小(见附件),只有500K左右。具体方法可参照下方链接。


链接:判定文件编码或文本流编码的方法

分享到:
评论

相关推荐

    RSS解析For Android

    解析代码示例: import net.xfok.rss.parser.Feed; import net.xfok.rss.parser.Rss; ...... String url="http://www.xfok.net/news/rss.xml"; Rss rss=new rss(url); List<Feed> feeds=rss.getFeeds(); ...... 欢迎...

    android rss 解析 附图片

    本话题主要探讨如何解析RSS feed,并且结合图片展示,这在创建新闻应用或者聚合信息源时非常实用。我们将深入理解两个关键文件:`RssSaxActivity3.java`和`RssSaxParser.java`。 首先,让我们从`RssSaxActivity3....

    一个基于新浪RSS的android RSS阅读器源码

    RSS阅读器通过抓取并解析RSS feed,将网站的最新内容呈现给用户。在这个特定的项目中,源码是针对新浪RSS服务设计的,这意味着它会连接到新浪提供的RSS源,获取新闻标题、摘要、发布时间等信息,并在Android应用中...

    RSS.zip_RSS_RSS Java_android RSS_rss android_rss android

    开发者使用Java来实现RSS阅读器的逻辑,包括解析RSS feed、处理XML数据、构建用户界面以及管理应用的状态等。Java的面向对象特性使得代码组织清晰,易于维护。 XML解析是另一个关键点。RSS feed通常以XML格式提供,...

    Android软件RSS阅读器源代码

    以上是构建Android RSS阅读器时可能涉及的主要技术点。通过分析和学习这个源代码,你可以了解如何将这些知识点融合到实际项目中,从而提升Android开发技能。同时,这也是一个很好的实践项目,可以帮助你掌握Android...

    android rss源码

    在Android平台上开发RSS阅读器应用时,源码的分析与理解是至关重要的。"android rss源码"这个项目可能是为了帮助开发者了解如何在较低版本的Android(低于0.9)中实现RSS订阅和解析功能。RSS(Really Simple ...

    新浪RSS 阅读器 android源码

    在新浪RSS阅读器中,源码会解析RSS feed以获取标题、描述、链接等信息,并将这些信息展示给用户。 2. **网络请求与数据解析**:源码中可能使用了HttpURLConnection或OkHttp等库进行网络请求,获取RSS feed的XML数据...

    一杯库来解析RSS for Android-Android开发

    还可以作为ConverterFactory用于翻新和加油分析RSS RSS解析器,适用于android在整个咖啡店中简单,简洁,可扩展的RSS解析器。 它可以从RSS文章中捕获这些信息:标题描述链接发布日期图像项GUId语言媒体作者类别...

    android rss阅读器源码

    Android RSS阅读器源码是一个专门为Android平台设计的应用程序,它能解析RSS feed并显示在用户友好的界面上。下面我们将深入探讨该源码中的关键知识点。 1. **XML解析**: Android RSS阅读器首先需要处理XML文件,...

    android_RSS经典开发教程

    ### android_RSS经典开发教程 #### 一、RSS与Android平台概述 RSS(Really Simple Syndication)作为一种标准化的格式,用于聚合网站上的内容,并让用户能够订阅这些内容更新。随着移动互联网的发展,RSS阅读器...

    android源代码 Rss阅读器

    在Android平台上,RSS阅读器是一种常见的应用程序,它允许用户订阅并获取来自不同网站的RSS feed,从而方便地浏览和管理新闻、博客文章等更新。在这个"android源代码 Rss阅读器"项目中,开发者提供了一个自编写的源...

    基于Android平台的RSS阅读器的设计与开发

    本课题旨在设计并开发一款基于Android平台的RSS阅读器,以满足用户对于信息获取的需求,并解决传统RSS阅读器存在的问题。 #### 二、相近研究课题的特点及优缺点分析 当前市场上已有的RSS阅读器主要可以分为三大类...

    Android开发实例:rss阅读器 源码

    解析XML时,每遇到一个RSS条目,就创建一个新的`RssItem`对象并填充数据。 在数据解析完成后,下一步是将这些信息存储到内存或数据库中。如果应用需要离线阅读功能,可以选择将RSS条目存储在SQLite数据库中。...

    Android源码——Rss订阅源码Demo.7z

    在Android应用中,我们可以利用RSS解析库,如RSSParser或TinyRSSParser,将RSS源数据转换为易于处理的对象模型。 在这个Demo中,首先我们需要创建一个RSS解析器,用于读取和解析RSS源。解析器通常会处理XML文档,...

    Android RSS阅读器

    一个Android RSS阅读器应用是专门设计用来帮助用户管理和阅读RSS源的软件。现在,我们将深入探讨如何构建一个Android RSS阅读器以及涉及的关键技术点。 1. **XML解析**:RSS feed通常是以XML格式存储的,因此,我们...

    Android_RSS阅读器设计与实现

    在开发过程中,开发者基于Android SDK 1.5环境,借助Eclipse集成开发环境以及Photoshop等设计工具,实现了RSS(Really Simple Syndication)新闻的获取、解析和展示功能。 在第一章“绪论”中,作者首先阐述了项目...

    构建Android手机RSS阅读器

    本教程主要涵盖了如何在Android平台上开发一个RSS阅读器应用,由IBM官方提供,旨在帮助开发者深入理解Android应用开发,并掌握RSS数据解析与展示的技术。RSS(Really Simple Syndication)是一种内容发布格式,常...

    Android源码——Rss订阅源码Demo.zip

    1. **XML解析**:首先,需要解析RSS源提供的XML文件。这个Demo可能使用了像是`java.util.Xml`或者第三方库如`jsoup`来解析XML。解析后,可以提取出文章标题、链接、发布日期等信息。 2. **网络请求**:在Android中...

    android_RSS开发教程

    为了让开发者能够利用Android平台的便利性,本教程《android_RSS开发教程》将会详细介绍如何使用Android Developer Tools,进行RSS的读取、解析和显示。这不仅为Android平台提供了有效的信息获取方式,还对XML数据...

Global site tag (gtag.js) - Google Analytics