struts2+hibernate+spring+mysql亂碼問(wèn)題
今天做struts2+hibernate+spring+mysql整合向數(shù)據(jù)庫(kù)保存中文時(shí)出現(xiàn)亂碼問(wèn)題,在網(wǎng)上查資料好半天才解決。首先查資料說(shuō)是在struts.properties加入如下的key-value:struts.locale=zh_CN ;struts.i18n.encoding=gb2312-------向數(shù)據(jù)庫(kù)保存數(shù)據(jù)時(shí)出現(xiàn)亂碼,問(wèn)題沒(méi)有解決;
然后再查說(shuō)是將spring的配置文件<property name="url" value="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8"></property>寫(xiě)成這樣---------再試驗(yàn)保存數(shù)據(jù)還是亂碼,問(wèn)題沒(méi)有解決;
然后再查說(shuō)將mysql字符集設(shè)置為UTF-8----------再試驗(yàn)保存數(shù)據(jù)還是亂碼,問(wèn)題沒(méi)有解決;
然后再查說(shuō)寫(xiě)個(gè)filter
1 public class NewFilterDispatcher extends FilterDispatcher {
2 private static String encoding = "GBK";
3
4 public void init(FilterConfig filterConfig) throws ServletException {
5 super.init(filterConfig);
6 String encodingParam = filterConfig.getInitParameter("encoding");
7 if (encodingParam != null && encodingParam.trim().length() != 0) {
8 encoding = encodingParam;
9 }
10 }
11
12 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
13 throws IOException, ServletException {
14 request.setCharacterEncoding(encoding);
15 super.doFilter(request, response, chain);
16 }
17 }
2 private static String encoding = "GBK";
3
4 public void init(FilterConfig filterConfig) throws ServletException {
5 super.init(filterConfig);
6 String encodingParam = filterConfig.getInitParameter("encoding");
7 if (encodingParam != null && encodingParam.trim().length() != 0) {
8 encoding = encodingParam;
9 }
10 }
11
12 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
13 throws IOException, ServletException {
14 request.setCharacterEncoding(encoding);
15 super.doFilter(request, response, chain);
16 }
17 }
web.xml
<filter>
<filter-name>struts</filter-name>
<filter-class>util.NewFilterDispatcher</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>gb2312</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-name>struts</filter-name>
<filter-class>util.NewFilterDispatcher</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>gb2312</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
再試驗(yàn)保存數(shù)據(jù),這次亂碼問(wèn)題終于解決;
posted on 2009-09-03 11:05 生命的綻放 閱讀(1281) 評(píng)論(1) 編輯 收藏 所屬分類(lèi): S2SH