Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java XML编码为GB2312,声明上带有ISO-8859-1_Java_Xml_Encoding_Iso 8859 1_Gb2312 - Fatal编程技术网

Java XML编码为GB2312,声明上带有ISO-8859-1

Java XML编码为GB2312,声明上带有ISO-8859-1,java,xml,encoding,iso-8859-1,gb2312,Java,Xml,Encoding,Iso 8859 1,Gb2312,我正在将创建XML的代码从Java1.4迁移到1.8。从旧的java代码中,它将xml文件编码为GB2312,xml声明是使用正确的中文字符。但是当我转到Java1.8时,整个XML变成了ISO-8859-1,汉字变成了这样的东西威猛 下面是旧代码的示例输出 这是新代码的示例输出 感谢您的帮助我通过将UNIX服务器中的JVM编码更改为ISO-8859-1解决了此问题我通过将UNIX服务器中的JVM编码更改为ISO-8859-1解决了此问题 String v

我正在将创建XML的代码从Java1.4迁移到1.8。从旧的java代码中,它将xml文件编码为GB2312,xml声明是使用正确的中文字符。但是当我转到Java1.8时,整个XML变成了ISO-8859-1,汉字变成了这样的东西威猛

下面是旧代码的示例输出

这是新代码的示例输出


感谢您的帮助

我通过将UNIX服务器中的JVM编码更改为ISO-8859-1解决了此问题

我通过将UNIX服务器中的JVM编码更改为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);