前言
1、web项目的乱码问题都是发生在请求或响应的时候。
2、基于spring的web项目的乱码问题也是发生在请求或响应的时候。
3、那么如何解决乱码问题呢?
解决方法
1、使用spring的字符集过滤器。
<filter>
<description>字符集过滤器</description>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<description>字符集编码</description>
<param-name>encoding</param-name> <!-- 配置encoding参数,请求的数据的字符集使用当前配置的字符集-->
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value> <!-- 配置forceEncoding为true,请求和响应的数据的字符集均使用当前配置的字符集-->
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2、提交表单或者发送请求时,表单数据注入到业务控制器的方法的参数时出现中文乱码?
答:spring字符集过滤器,只对post提交有效,所以发送请求时必须显式地注明是post提交。
示例
<form action="<%=root%>/user/addUser.do" id="addUserForm" method="post">
参考
1、http://blog.csdn.net/kalision/article/details/46441081