java,为什么读取文本文件里面的汉字是乱码啊,怎么改啊?

java,为什么读取文本文件里面的汉字是乱码啊,怎么改啊?,第1张

汉字字符集不匹配,比如说用UTF-8字符集去解析GBK字符集的汉字就会变成乱码
这里不要用FileReader,这个类用的是默认字符集去读取文本,改用InputStreamReader,它的构造方法中能够指定字符集,让它作为BufferedReader的源,就不会乱码了
hcl=new
BufferedReader(new
InputStreamReader(new
FileInputStream(wjlj
),
"GBK"));
如果还是乱码,就把GBK改成UTF-8

编码问题, 一般来说, notepad默认编码是ANSI, cmd输出默认编码是也是ANSI, ANSI就是windows中文版系统的默认编码, 如果你用notepad编辑好一个java文件, 然后另存为时候用了其他编码, cmd输出会乱码你要尝试编码的话,可以用下面的方式有助于你更好的理解编码1 String s = new String(byte[], "UTF-8"); 作用是把byte[]数组按utf8编码转成字符串2 byte[] bs = xxxgetByes("UTF-8"); 作用是把字符串按utf8转成byte[]数组byte[]数组对于计算机来说是一样的, 不存在编码问题如还有疑问可以继续问

在servlet里doPost或者doGet方法中 写在开始 以下三句话 requestsetCharacterEncoding("GBK") responsesetCharacterEncoding("GBK")
responsesetContentType("text/html;charset=GBK") 另外jsp页面中 第一行 pageEncoding属性看看是什么 其实可以都搞成UTF-8的


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13360191.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-21
下一篇 2023-07-21

发表评论

登录后才能评论

评论列表(0条)

保存