JSP学习笔记(6)_中文乱码问题
这篇来写一写关于JSP页面常常出现的中文乱码问题。
1.码表
ascii码表中,每一个字符占1个字节
gb编码表中,数字和字母各占1个字节,字统统占2个字节
utf-8中每个字符占1-3个字节
2.造成乱码的根本原因
编码与解码的码表不一致
3.编码和解码
编码: 字符----->对应的数字
解码: 数字------>对应的字符
4.乱码原因分析
客户端给服务器传递数据,会使用该页面设置的码表的数据编码成数字传递给服务器,服务器在封装request对象的时候,会对数字解码,如果request没有设置码表,web服务器会默认按照iso-88589-1码表对数字进行解码,因此会出现中文乱码。
5.乱码解决方法
方法一:对于服务器传递回来的request对象获取的数据,再使用iso-8859-1码表进行编码,得到原先数据的编码数字,再使用客户端提交数据时的码表解码即可。
方法二:使用post方法传递表单的数据,在设置request的解码码表
如:
request.setCharacterEncoding("utf-8");