首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SAX解析器不识别windows-1255编码

SAX解析器不识别windows-1255编码
EN

Stack Overflow用户
提问于 2012-03-29 18:13:05
回答 2查看 786关注 0票数 1

我正在开发android中的rss解析器(升级我在互联网上找到的解析器)。据我所知,SAX Parser会自动从xml标记中识别编码,但是当我试图解析声明windows-1255编码的提要时,它不会解析它并抛出和异常。我尝试过的东西很少:

  1. 最终InputSource源=新InputSource(提要);阅读器isr =新InputStreamReader(提要);source.setCharacterStream(提要);
  2. 我甚至试着告诉他具体的编码。 Source.setEncoding(Windows1255);
  3. 试着看定位器: @覆盖公共空setDocumentLocator(定位器定位器){}

它将编码识别为UTF-16。

请帮我解决这个烦人的问题!对不起,代码片段混乱,代码按钮由于某种原因拒绝工作。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-29 18:18:47

很可能平台本身不知道"windows-1255“编码。毕竟,这是一种基于Windows的编码--我不希望依赖于任何其他平台,尤其是移动平台,在这些平台上,“必拥有”选项通常会被减少。

票数 2
EN

Stack Overflow用户

发布于 2012-03-30 07:19:39

您需要将编码设置为InputStreamReader。

代码语言:javascript
复制
Reader isr = new InputStreamReader(feed, "windows-1255");
final InputSource source = new InputSource(isr);

javadoc中,从InputSource读取的逻辑如下所示:

  • 有字符流吗?如果存在,请使用它(如果使用像InputStreamReader这样的阅读器,会发生什么情况)

否则:

  • 没有字符流?使用字节流。(InputStream)
  • 是否为InputSource设置了编码?用那个
  • 没有编码集?尝试从xml文件中解析编码。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9931024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档