一、HTTP请求参数中文乱码问题
1、解决post请求乱码问题
在调用getParameter()方法前先调用setCharacterEncoding(charset)方法设定与页面请求编码相同的解码字符集
2、解决get请求的乱码问题
Tomcat服务器:
在server.xml修改编码格式
修改:
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1"redirectPort="8443"/>
为:
<Connector connectionTimeout="20000" port="8082" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>
二、响应输出中文乱码问题
(1)response.setCharacterEncoding("UTF-8")
只能用来设置PrintWriter输出流中字符的编码方式,它的优先权最高
(2)response.setContentType("text/html;charset=UTF-8")
可以设置PrintWriter输出流中字符的编码方式,也可以设置浏览器接收到这些字符后以什么编码方式来解码,它的优先权低于第一种方法
(3)response.setLocale(new java.util.Locale("zh","CN"))
只能用来设置PrintWriter输出流中字符的编码方式,它的优先权最低,在已经使用前两种方法中的一个设置了编码方式以后,它将被覆盖而不再起作用