代码改变世界

HttpServletResponse应用中文输出乱码问题及解决方法

2018-11-25 14:16  你好哈哈  阅读(1329)  评论(0)    收藏  举报

       由于计算机中的数据都是以二进制形式存储的,因此,当传输文本时,就会发生字符和字节之间的转换。字符与字节之间的转换是通过查码表完成的,将字符转换成字节的过程称为编码,将字节转换成字符的过程称为解码,如果编码和解码使用的码表不一致,就会导致乱码问题。

        对于有些解码错误,可以通过修改浏览器的解码方式解决。在浏览器中单击“查看”——“编码”——utf-8选项,将浏览器的编码方式设置成UTF-8。由此说明,通过修改浏览器的编码方式可以解决乱码,但是,这样的做法显然能不可取,为此,在HttpServletResponse对象中,提供了两种解决乱码的方案,如下:

        1、//设置HttpServletResponse使用utf-8编码

             response.setCharacterEncoding("utf-8");

            //通知浏览器使用utf-8解码

            response.setHeadre("Content-type","text/html;charset=utf-8");

       2、包含第一种方法的两个功能

           responsesetContentType("text/html;charaset=utf-8");

       通常情况下,为了使代码更加简洁,才用第二种方式。