SpringMVC遇到的乱码问题- 解决GET请求时中文乱码的问题
2016-11-17 10:01
519 查看
转自http://www.cnblogs.com/liukemng/p/4178882.html
之前项目中的web.xml中的编码设置:<filter> <filter-name>CharacterEncoding</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> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharacterEncoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
但这个设置是针对POST请求的,tomacat对GET和POST请求处理方式是不同的,要处理针对GET请求的编码问题,则需要改tomcat的server.xml配置文件,如下:
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
改为:
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" useBodyEncodingForURI="true"/>
最关键的点在这里:
如果你是更改的tomcat安装目录的server.xml配置文件,那么在用myeclipse时起作用,但在使用eclipse运行项目时会发现配置没起作用,其实是因为eclipse在运行项目时是用的eclipse中配置的tomcat,那么问题就好解决了,打开eclipse中的tomcat配置文件,改为如下即可:
注:配置useBodyEncodingForURI="true"后,可以解决普通get请求的中文乱码问题,但是对于通过ajax发起的get请求中文依然会乱码,请把useBodyEncodingForURI="true"改为URIEncoding="UTF-8"即可。
相关文章推荐
- SpringMVC解决GET请求时中文乱码的问题
- SpringMVC学习系列-后记 解决GET请求时中文乱码的问题
- SpringMVC学习系列-后记 解决GET请求时中文乱码的问题
- SpringMVC学习 解决GET请求时中文乱码的问题
- SpringMVC学习系列-后记 解决GET请求时中文乱码的问题
- SpringMVC 解决GET请求时中文乱码的问题
- SpringMVC学习系列-后记 解决GET请求时中文乱码的问题
- SpringMVC 解决GET请求时中文乱码的问题
- SpringMVC学习系列-后记 解决GET请求时中文乱码的问题
- SpringMVC 解决GET请求时中文乱码的问题
- SpringMVC学习系列-后记 解决GET请求时中文乱码的问题
- SpringMVC学习系列-后记 解决GET请求时中文乱码的问题
- 解决问题:在使用springmvc的web.xml配置乱码拦截器之后接收的get或者post请求中文还是乱码
- SpringMVC学习系列-后记 解决GET请求时中文乱码的问题
- 使用SpringMVC参数传递时,解决get请求时中文乱码的问题
- SpringMVC学习系列 解决GET请求时中文乱码的问题
- SpringMVC学习系列-后记 解决GET请求时中文乱码的问题
- SpringMVC学习系列-后记 解决GET请求时中文乱码的问题
- SpringMVC解决GET请求时中文乱码的问题
- SpringMVC学习系列-后记 解决GET请求时中文乱码的问题