Java Web ___ 练习 __ 解决中文输出乱码问题
中文输出乱码问题
由于计算机中的数据都是以二进制形式存储的,因此,当传输文本时,就会发生字符和字节之间的转换。
字符与字节之间的转换是通过查码表完成的,将字符转换成字节的过程称为编码,将字节转换成字符的过程称为解码。
如果编码和解码使用的码表不一致,就会导致乱码问题。
例如:输出“中国”浏览器执行的流程如下
设置编码方式
在HttpServletResponse接口中,提供了一个setCharacterEncoding()方法,该方法用于设置字符的编码方式。
设置字符编码使用的码表为utf-8:
response.setCharacterEncoding("utf-8");
设置后浏览器显示如图:
原因: 设置了编码方式,还未设置解码方式
设置解码方式
通知浏览器使用utf-8解码
response.setHeader("Content-Type","text/html;charset=utf-8");
同时设置解码和编码方式
包含上面两个功能,日常中使用。
response.setContentType("text/html;charset=utf-8");