乱码原因
由于Tomcat使用的编码格式是 ISO-8859-1,而JSP里面使用的是utf8,解码和编码形成了冲突,所以才会导致乱码。
解决办法
1.Get请求
- 在Tomcat8.0版本之后,默认就是utf8(在Tomcat server.xml文件中),所以不用更改。
<Connector URIEncoding="utf8" port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"/>
-
在Tomcat8.0之前的解决办法(将之前ISO-8859-1的编码转换成utf8)
String 变量=new String(请求参数变量.getBytes('ISO-8859-1'),utf8);
注意: 每个请求参数后都要进行一次转换。
2.Post请求
- 统一解决办法
request.setCharacterEncoding('utf8'); //将请求的参数格式转换为utf8
response.setContextType('text/html;charest=utf8'); 响应类型为html,编码格式为utf8