1

我正在努力将创建 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 文件

谢谢你的帮助

4

1 回答 1

0

我设法通过将 UNIX 服务器中的 JVM 编码更改为 ISO-8859-1 来解决这个问题

于 2020-09-02T04:02:03.370 回答