請求參數中文亂碼的解決
在web.xml中配置Spring提供的過濾器類
<!--配置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>
上述代碼中encoding用來設置編碼格式,而forceEncoding用來設置是否強制設置編碼爲encoding設置的編碼。若將foreEncoding設置爲true,則表示在代碼中設置的編碼格式被忽略,即強制覆蓋之前代碼中的編碼格式。
查看CharacterEncodingFilter類源碼,可以看出還可以設置forceRequestEncoding和forceResponseEncoding,其中forceRequestEncoding表示是否強制設置request的編碼爲encoding,forceResponseEncoding,表示是否強制設置response的編碼爲encoding。而