java 写入txt文件的中文乱码是怎么回事?

如题所述

原因是写入时使用的字符编码和期望的不一致导致的,因为JVM虚拟机启动时会因不同的参数使用不同的缺省字符编码。

解决办法:
如果你期望写到文件中的汉字是 GBK编码,可以:
1、写文件时,将字符串准换成 GBK编码的byte[], 如: myios.write( "汉字".getBytes("GBK"));
2、java 虚拟机启动时,增加 -DFile.encode=GBK 选项。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-04-01

原因是写入时使用的字符编码和期望的不一致导致的。

    java工作区统一编码。统一为utf-8

    这个就是输出流的编码问题吧?如果你在输出时指定好具体的编码,或者说指定跟原网页一直的编码。

    如果你期望写到文件中的汉字是 GBK编码,可以写文件时,将字符串准换成 GBK编码的byte[]。

    网页编码和输出流编码一致。

本回答被网友采纳
相似回答