日期:2014-05-20  浏览次数:20868 次

XML解析出现中文乱码
需要解析的数据来源于接口,但是开发环境上没有接口服务,所以只能模拟了数据;(接口返回的就是字符串)
但是模拟数据解析后乱码(程序在使用接口传来数据解析后不会存在乱码情况)
(模拟的数据<?xml version='1.0' encoding='GBK'?><ROOT>...</ROOT>,写在了类里了)

代码文件编码是GBK(XMLParser解析方法是公司封装的)
XMLParser parser = new XMLParser();
Element ele = parser.parseXMLStr(test_skrk);//test_skrk是模拟接口返回的字符串
报错:
解析XML出错:org.apache.xerces.impl.io.MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence.
估计是字符串编码GBK问题
修改为Element ele = parser.parseXMLStr(new String(test_skrk.getBytes("GBK"),"UTF-8"));
ele的toString重写过的,system.out后值是中文乱码
打印的值getBytes("GBK"),"UTF-8"),还是getBytes("UTF-8"),"GBK")都是乱码
不知道是怎么回事

------解决方案--------------------
你把XML文件的编码格式改为UTF-8试试!
------解决方案--------------------
LZ看下这个帖子,可能对你的问题有帮助。http://blog.csdn.net/chenyanbo/article/details/6866941