Skip to content
目录概览

Spring MVC如何解决GET、POST请求中文乱码问题?

  • GET乱码:

    • 方式一: 修改tomcat配置文件添加编码与工程编码一致,如下:

      xml
      <ConnectorURIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
      
      1
    • 方式二: 参数进行重新编码:

      String userName = new String(request.getParamter(“userName”).getBytes(“ISO8859-1”),“utf-8”)
      
      1

      ISO8859-1是tomcat默认编码,需要将tomcat编码后的内容按utf-8编码。

  • POST请求乱码问题: 在web.xml中配置一个CharacterEncodingFilter过滤器,设置成utf-8;

    xml
    <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>
    </filter>
    <filter-mapping>
        <filter-name>CharacterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12