码迷,mamicode.com
首页 > 编程语言 > 详细

Spring MVC解决中文乱码(post get)(转)

时间:2017-05-10 00:13:13      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:protocol   乱码问题   direct   har   frame   tomcat   分享   bar   att   

之前项目中的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配置文件,那么在用eclipse运行项目时会发现配置没起作用,其实是因为eclipse在运行项目时是用的eclipse中配置的tomcat,那么问题就好解决了,打开eclipse中的tomcat配置文件,改为如下即可:

技术分享

 

注:配置useBodyEncodingForURI="true"后,可以解决普通get请求的中文乱码问题,但是对于通过ajax发起的get请求中文依然会乱码,请把useBodyEncodingForURI="true"改为URIEncoding="UTF-8"即可。

Spring MVC解决中文乱码(post get)(转)

标签:protocol   乱码问题   direct   har   frame   tomcat   分享   bar   att   

原文地址:http://www.cnblogs.com/wajueji/p/6833310.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!