关于编码问题,高手指教
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