Tomcat和Was服务器中文乱码问题总结
Tomcat默认将get请求中的中文参数进行了ISO-8859-1字符集的编码。
was默认的字符集编码为UTF-8。
1.使用Was作为容器的项目,不需要像Tomcat那样处理中文乱码,因为容器本身就是UTF-8的编码。
2.Tomcat 中文乱码问题解决:
(1)get请求
方式一:代码层面
get请求中的中文参数在传递到后台时被进行了ISO-8859-1的编码,所以后台在接收时先使用ISO-8859-1解码,再使用UTF-8编码。
方式二:修改配置文件
修改tomcat的server.xml文件添加编码URIEncoding=“utf-8”
<Connector URIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
(2)post请求
在web.xml文件中添加编码过滤器
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>