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

 我来答
山上的阿竹
2018-01-05 · TA获得超过463个赞
知道小有建树答主
回答量:513
采纳率:87%
帮助的人:136万
展开全部
原因是写入时使用的字符编码和期望的不一致导致的,因为JVM虚拟机启动时会因不同的参数使用不同的缺省字符编码。

解决办法:
如果你期望写到文件中的汉字是 GBK编码,可以:
1、写文件时,将字符串准换成 GBK编码的byte[], 如: myios.write( "汉字".getBytes("GBK"));
2、java 虚拟机启动时,增加 -DFile.encode=GBK 选项。
同睿好0R
2018-04-01 · TA获得超过100个赞
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部

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

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

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

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

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

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式