WEB应用中文乱码问题

1、POST 乱码解决  
<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>
</filter>

  

2、Get乱码解决

       tomcat对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"/>

3、Ajax 乱码解决

       在上面第2点配置中增加useBodyEncodingForURI="true",解决Get请求中文乱码问题,但对于Ajax的Get请求中文依然乱码,需把useBodyEncodingForURI="true"修改为URIEncoding="UTF-8"。

4、中文乱码解决宗旨

        保证所有请求协议URL编码(UTF-8)一致,保证所有接收处理请求应用、服务器、环境编码(UTF-8)一致。

猜你喜欢

转载自earllang.iteye.com/blog/2279450
今日推荐