当前位置: 代码迷 >> J2SE >> XML解析出现中文乱码,该怎么解决
  详细解决方案

XML解析出现中文乱码,该怎么解决

热度:5381   发布时间:2013-02-25 00:00:00.0
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
  相关解决方案