今天学习struts2,在读取、更新数据库等操作中遇到中文乱码问题,在网上找了很多的方法。
1、在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>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2、按照网上的说明,建了struts.properties文件,如下:
struts.devMode=false
struts.enable.DynamicMethodInvocation=true
struts.i18n.reload=true
struts.ui.theme=simple
struts.locale=zh_CN
struts.i18n.encoding=UTF-8
struts.serve.static.browserCache=false
struts.url.includeParams=none
3、并且在具体的类中设置了:request.setCharacterEncoding("utf-8");
但是到头来发现均不行,再将Tomcat设置:URIEncoding="gbk"
发现还是不行。
最后想到有一篇文章讲 struts2 默认是utf-8编码,而后将上面提到的1,2,3全部删掉,在Tomcat中设置URIEncoding="utf-8"。
再试,ok,搞定。