读书人

XML序列化对象时出现的汉字乱码有关问

发布时间: 2012-06-20 20:37:21 作者: rapoo

XML序列化对象时出现的汉字乱码问题!
以下是序列化函数,当对象的字段值为汉字时输出的XML文本出现乱码,并且无法还原成对象。请高手赐教!
public static String ToXmlText(Object obj)
{
ByteArrayOutputStream bos= new ByteArrayOutputStream();
XMLEncoder encoder = new XMLEncoder(bos);
encoder.writeObject(obj);
encoder.flush();
encoder.close();
return bos.toString();
}


[解决办法]
bos.toString();
把你返回的字符串 用UTF-8 弄一下
[解决办法]
是用MyEclipse吗?你编辑区什么编码格式,
[解决办法]
new String(str.getBytes("ISO8859_1"), "UTF-8");
试试
[解决办法]

探讨
感谢楼上,有点进展。
new String(bos.toString().getBytes(), "UTF-8")
这样的话,偶数个汉字可以正常显示,但单数个汉字仍然不对劲。

[解决办法]
打错修正:
XMLDecoder d = new XMLDecoder(
new ByteArrayInputStream(xmlS.getBytes("UTF-8")));

读书人网 >J2SE开发

热点推荐