当前位置: 代码迷 >> J2SE >> XML序列化对象时出现的汉字乱码有关问题
  详细解决方案

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

热度:62   发布时间:2016-04-24 00:45:17.0
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")));
  相关解决方案