上一篇博客写了SpringMVC中使用REST风格的url,在测试时,向表单中添加中文会出现乱码。接下来来探讨一下如何解决SpringMVC中的乱码问题。
SpringMVC提供了一个过滤器可以用来解决乱码问题。该过滤器是CharacterEncodingFilter
具体配置如下:
<!-- 解决乱码问题 -->
<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>
<!-- 设置响应编码是否修改,默认为false -->
<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>
注意:配置字符编码Filter时一般都放在其他Filter之前,否则无法配置成功。