我正在努力将创建 XML 的代码从 Java 1.4 迁移到 1.8。从旧的 java 代码,它将 xml 文件编码为 GB2312,XML 声明是这个 <?xml version="1.0" encoding="ISO-8859-1"?> 具有正确的中文字符。但是当我迁移到 java 1.8 时,整个 XML 变成了 ISO-8859-1,而汉字变成了这样的东西 威猛
String values = "急需";
byte[] encoded = values.getBytes("GB2312");
Text env = doc.createTextNode(new String(encoded,"GB2312"));
envelope.appendChild(env);
doc.appendChild(messages);
OutputFormat format = new OutputFormat(doc,"ISO-8859-1", true);
String path = "C:\\Test\\tes112.xml";
fs = new FileOutputStream(path);
XMLSerializer serial = new XMLSerializer(fs,format);
serial.serialize(doc);
这是带有 ISO-8859-1 声明和 GB2312 编码的旧代码 XML 文件的示例输出
这是新代码的示例输出
带有 ISO-8859 声明和 GB2312 编码问题的 XML 文件
谢谢你的帮助