get和post 请求乱码问题

post: 在web.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>

get:

以上可以解决post 请求乱码问题。对于get 请求中文参数出现乱码解决方法有两个:

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

  1. <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" )

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

经验分享 程序员 微信小程序 职场和发展