springmvc 表单中文乱码解决方案

作者:叁念

本文介绍几种常见的乱码解决方案


1.web.xml 了配置拦截器就可以解决

这里需要注意的是,最好把这段代码放在web.xml中开头的位置,因为拦截有顺序,如果放在后面的话容易拦截不到。

拦截器代码如下

    <!--post乱码过滤器-->  
    <!-- 配置springMVC编码过滤器 -->  
    <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>  
        <!-- 启动过滤器 -->  
        <init-param>  
          <param-name>forceEncoding</param-name>  
          <param-value>true</param-value>  
        </init-param>  
    </filter>  
    <!-- 过滤所有请求 -->  
    <filter-mapping>  
        <filter-name>CharacterEncodingFilter</filter-name>  
        <url-pattern>/*</url-pattern>  
    </filter-mapping>  

2.修改 Tomcat 的 server.xml 文件,添加 utf-8 编码

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

3.代码猥琐解决(不推荐)

    String name=new String((user.getUname()).getBytes("ISO-8859-1"),"utf8");  

猜你喜欢

转载自blog.csdn.net/qq_36868342/article/details/79949055