我正在使用android中的rss解析器 (升级我在互联网上找到的解析器)。 据我所知,SAX Parser从xml标签自动识别编码,但是当我尝试解析声明windows-1255编码的feed时,它不会解析它并抛出异常。 我尝试了几件事:
final InputSource source = new InputSource(feed);
Reader isr = new InputStreamReader(feed);
source.setCharacterStream(isr);
我甚至试过告诉他具体的编码。
source.setEncoding("Windows-1255");
试图查看定位器:
@Override
public void setDocumentLocator(Locator locator) {
}
它将编码识别为UTF-16。
请帮我解决这个恼人的问题! 很抱歉代码片段很乱,代码按钮由于某种原因拒绝工作。
答案 0 :(得分:2)
机会本身并不知道“windows-1255”编码。毕竟,这是一个基于Windows的编码 - 我不希望依赖它可以在任何其他平台上使用,特别是那些通常被削减为“必备”选项的移动平台
答案 1 :(得分:1)
您需要将编码设置为InputStreamReader。
Reader isr = new InputStreamReader(feed, "windows-1255");
final InputSource source = new InputSource(isr);
从javadoc开始,从InputSource读取的逻辑就像这样:
否则: