首先是get方式提交乱码,修改tomcat的server.xml。在Connector节点添加URIEncoding="UTF-8"
<!--<br/ />
<br/ />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />
http://www.CodeHighlighter.com/<br/ />
<br/ />
--><Connector connectionTimeout="20000" port="80" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>
然后是post方式提交乱码,tomcat中提供了一个filter用于修改request的编码。 文件目录是apache-tomcat-6.0.20\webapps\examples\WEB-INF\classes\filters\SetCharacterEncodingFilter.java 在web.xml中配置过滤器指定编码

filter
<!--<br/ />
<br/ />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />
http://www.CodeHighlighter.com/<br/ />
<br/ />
--><filter>
<filter-name>SetCharacterEncodingFilter</filter-name>
<filter-class>filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>SetCharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-name>SetCharacterEncodingFilter</filter-name>
<filter-class>filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>SetCharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
本文介绍了解决Tomcat服务器GET和POST请求中文乱码的方法。针对GET方式提交的乱码,通过修改server.xml文件中的URIEncoding属性为UTF-8;对于POST方式提交的乱码,则是在web.xml中配置SetCharacterEncodingFilter过滤器,设置request的字符编码为UTF-8。
1086

被折叠的 条评论
为什么被折叠?



