转自:http://blog.sina.com.cn/s/blog_646c780d010158u2.html
中文乱码,首先要区分是页面乱码、action乱码,还是数据库乱码。大致的原理是java使用unicode编码-->window使用gbk(gb2312的扩展集)--mysql默认使用utf-8(unicode的一种编码方法),这样转来转去就乱码了。
<%@ page contentType="text/html;charset=UTF-8"%>< %@ pagepageEncoding="UTF-8" %> |
<%@ page contentType="text/html;charset=UTF-8"%>< %@ pagepageEncoding="UTF-8" %>
2.在struts配置文件里写上
<constant name="struts.i18n.encoding"value="utf-8"/>
3.在web.xml加个filter
struts2的web.xml配置是有顺序的。
在web.xml中EncodingFilter的位置应该在Struts2的FilterDispatcher之前,因为要先调整字符集,然后进入Action。
4.struts2中超链接url传参中文乱码
在tomcat的server.xml文件中设置URIEncoding="UTF-8"信息。如:
<!-- Define a non-SSL HTTP/1.1 Connector on port8080 -->
<Connector port="8080"maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/>