
我们在编写的Controller 等服务器端的代码时,接受到的请求参数经常会乱码。
解决:在Tomcat 的安装目录下找到conf 文件夹下的server.xml文件用记事本打开。
找到
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="30000"
redirectPort="8443" />
添加上URIEncoding="UTF-8"
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="30000"
redirectPort="8443" URIEncoding="UTF-8" />
在把eclipse中的Server 工程中的server.xml文件中的上述代码也改一遍。就可以了。
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
但是需要注意的是,这个只对GET请求起作用,对于form表单的没有起作用。
后续如果发现对form表单起作用的方法在添加上来
=======================更新========================================
表单的提交乱码解决的方法:在web.xml文件中的配置Spring 自带的过滤器 org.springframework.web.filter.CharacterEncodingFilter
但是需要注意的是:这个filter 放的位置非常重要,放的顺序不一样则会的起不到作用,目前发现要尽量靠前放置,但是要放在 <listener> 的后面。后续如果又发现再更新
<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>