扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
用InputStreamReader代替FileReader,InputStreamReader isr=new InputStreamReader(new FileInputStream(fileName),"UTF-8");
易县网站建设公司创新互联公司,易县网站设计制作,有大型网站制作公司丰富经验。已为易县1000+提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的易县做网站的公司定做!
运行java带有中文的代码就出现乱码,解决方式如下:
设置整个java工程的编码格式为utf-8,如下图:
设置html的编码格式为utf-8
默认不支持中文,你需要设置一个语言编码:
原因:
你的文件编码默认是ANSI编码。
不同的国家和地区制定了不同的标准,由此产生了 GB2312, BIG5, JIS 等各自的编码标准。这些使用 2 个字节来代表一个字符的各种汉字延伸编码方式,称为 ANSI 编码。在简体中文系统下,ANSI 编码代表 GB2312 编码,在日文操作系统下,ANSI 编码代表 JIS 编码。
不同 ANSI 编码之间互不兼容,当信息在国际间交流时,无法将属于两种语言的文字,存储在同一段 ANSI 编码的文本中。
如果你的系统是非中文的,你的ANSI对应着相应的编码。当读取一个文件中的中文时,就会出现乱码。当然通过FileWriter写入另一个文件时,也会是乱码。(因为问题出在读取上)
解决办法:
1 通过另一个节点流FileInputStream转码。
InputStreamReader isr = new InputStreamReader(new FileInputStream(file), "GBK"); //或GB2312,GB18030
BufferedReader read = new BufferedReader(isr);
2 如非要用FileReader的话,可以将要读取的文件改为通用的编码(如UTF-8).如txt的文件可以在另存为中设置编码。然后读取 显示 写入都是正常的。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流