以下是序列化函数,当对象的字段值为汉字时输出的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");
试试
------解决方案--------------------
------解决方案--------------------
打错修正:
XMLDecoder d = new XMLDecoder(
new ByteArrayInputStream(xmlS.getBytes("UTF-8")));