struts mysql utf-8中文乱码

java开发总免不了乱码的问题,struts mysql utf-8中文乱码解决思路如下:
1 struts2配置 2 数据库 3 页面 4 jdbc连接 5 tomcat

1 struts2配置
struts2在配置struts.properties文件中加上struts.i18n.encoding=UTF-8 或者在 struts.xml里加上<constant name="struts.i18n.encoding" value="UTF-8" />

2 MySQL
mysql的编码应设为utf8

3 页面
<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

4 jdbc连接
jdbc.mysql.url=jdbc:mysql://localhost:3306/db?useUnicode=true&amp;characterEncoding=UTF8

5 tomcat
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>

6 encoding filter(好像不是必须的)
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>filters.SetCharacterEncodingFilter</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>

SetCharacterEncodingFilter.java类可以在%tomcat%\webapps\examples下找到

你可能感兴趣的:(tomcat,xml,mysql,struts,jdbc)