Springmvc 通过CharactorEncodingFilter解决乱码问题

83 阅读1分钟

(如果在设置编码之前,已经获取了某个请求参数,那么设置编码没有任何作用。)

get请求的乱码问题:是由tomcat造成的,在tomcat中的server.xml中配置编码方式

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" 
           useBodyEncodingForURI="true" 
           URIEncoding="UTF-8" />

post乱码问题的解决

web.xml文件

<!--注册编码过滤器-->
 <filter>
    <filter-name>CharacterEncodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>endoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
    <!--设置响应编码-->
    <init-param>
        <param-name>forceResponseEncoding</param-name>
        <param-value>true</param-value>
    </init-param>
 </filter>