我的XML响应是
<name> DPD futár </name>
我的XML解析代码
SAXParserFactory _saxFactory = SAXParserFactory.newInstance();
SAXParser _saxParser = _saxFactory.newSAXParser();
XMLReader _xmlReader = _saxParser.getXMLReader();
_shippingMethodList = new ArrayList<ShippingMethodItem>();
ShippingMethodParser _cartLoginParser = new ShippingMethodParser(
_shippingMethodList);
_xmlReader.setContentHandler(_cartLoginParser);
InputSource is = new InputSource();
is.setEncoding("ISO-8859-1");
is.setCharacterStream(new StringReader(response));
_xmlReader.parse(is);
但我在我的名字变量中跟随字符串。
DPDfutár
我也尝试用
is.setEncoding("UTF-8");
但没有获得成功。有人可以帮我解决这个问题吗?
答案 0 :(得分:1)
试试这个
InputSource in = new InputSource(new InputStreamReader(url.openStream(),"ISO-8859-1"));
答案 1 :(得分:0)
您不应对匈牙利数据使用ISO-8859-1(拉丁语1)编码,因为它不包含ő
等国家字符。例如,á
字母也是葡萄牙语和西班牙语字母表的一部分,两者都得到拉丁语1的支持,但就匈牙利语而言,只有拉丁语2(ISO-8859-2)可以使用。但是,您应该尽可能使用unicode编码。
首先,我要检查接收到的数据是否正确编码,因为在将字符串编码为unicode时也可能发生错误。您提供的示例是典型的编码错误。也许您正在尝试将UTF-8编码为UTF-8,这是错误的。