1. 程式人生 > >如何解決POST請求中文亂碼問題,GET的又如何處理呢?

如何解決POST請求中文亂碼問題,GET的又如何處理呢?

在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>
</filter-mapping>

以上可以解決post請求亂碼問題。對於get請求中文引數出現亂碼解決方法有兩個:

修改tomcat配置檔案新增編碼與工程編碼一致,如下:

<ConnectorURIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

另外一種方法對引數進行重新編碼:

String userName = new String(request.getParamter("userName").getBytes("ISO8859-1"),"utf-8")
ISO8859-1是tomcat預設編碼,需要將tomcat編碼後的內容按utf-8編碼