这个问题困扰了我有两三天了,jsp的表单提交到struts2的Action里就出现了中文乱码,我JSP页面统一采用UTF-8,甚至全部换成GBK或者GB2312,始终不能解决乱码问题。网上查了大量的解决方法,一种一种试过去,直到现在才得以解决。方法如下:
需要在web.xml进行配置
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
需要注意的是这个过滤器最好是配置在其他过滤器的前面。
我用过但没解决的方法:http://student.csdn.net/space.php?uid=248401&do=blog&id=26114
http://topic.csdn.net/u/20080218/10/c90183c2-7705-4abf-97c4-fa5aa30c736b.html 等
本次解决方案来自:http://hqh8178412.javaeye.com/blog/455362,这里表示感谢!