日期:2014-05-19  浏览次数:20708 次

关于编码问题,高手指教
1.io流中就涉及到编码问题,比如fileReader通过一个流读一个文件,文件中有中文,则其在读的过程中,是按照本地gbk码表,进行的解码。如果文件gbk的形式,则读取正确,没有乱码,否则会有乱码。

2.使用printWriter写文件时,默认也是gbk的码表,如往文件写字符串,文件的编码格式是gbk,执行write()方法,则直接写入,不会有乱码。

3.那么在servlet中,服务器往客户端写中文,使用字符流的形式写,即:

String name = "中国";
PrintWriter writer = response.getWriter();
writer.write(name);


如果此时,write方法的编码方式默认为gbk,客户端默认也为gbk,则不会出乱码,结果是乱码,为什么呢?

4.如果此时的编码为iso8859-1,为什么忽然变了呢?





------最佳解决方案--------------------
UP             、         
------其他解决方案--------------------
读写文件的时候强制指定编码试试 InputStreamReader/OutputStreamWriter
------其他解决方案--------------------
null
------其他解决方案--------------------
加响应头。。。。
------其他解决方案--------------------
null