这里不要用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的
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)