解决方案:response.setContentType("text/html;charset=UTF-8");

Servlet之页面输出中文乱码问题

原因

    response缓冲区的默认编码是iso8859-1,此码表中没有中文

初步思路

      可以通过response的setCharacterEncoding(String charset) 设置response的编码,但我们发现客户端还是不能正常显示文字

初步原因

     我们将response缓冲区的编码设置成UTF-8,但浏览器的默认编码是本地系统的编码,因为我们都是中文系统,所以客户端浏览器的默认编码是GBK,我们可以手动修改浏览器的编码是UTF-8。

最优解决方案

        我们还可以在代码中指定浏览器解析页面的编码方式,

        通过response的setContentType(String type)方法指定页面解析时的编码是UTF-8

        response.setContentType("text/html;charset=UTF-8");

 

上面的代码不仅可以指定浏览器解析页面时的编码,同时也内含setCharacterEncoding的功能,所以在实际开发中只要编写      response.setContentType("text/html;charset=UTF-8");就可以解决页面输出中文乱码问题。

相关文章: