SSH框架項目+jsp頁面+MySQL數據庫,數據中文亂碼問題解決方案合集

首先申明,轉載至:http://blog.csdn.net/chenmeng2192089/article/details/7994352

這篇文章,非常有用的解決我所遇到的問題,很感謝原作者。所以轉載分享!


1.頁面

  • 每個頁面上加上  這樣在jsp頁面裏,點右鍵,查看編碼方式則爲UTF-8.

[java] view plaincopy
  1. <%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>  

[java] view plaincopy
  1. <%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>  

  • 也可以把設置myEclipse中默認的contentTyepe。步驟是:windows->preferences->Generl->ContentType.然後設置成UTF-8.一定要update~~
  • 在JSP頁面頭部加入下面這句話,告訴瀏覽器應該調用UTF-8的字符集。

  1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>  

[java] view plaincopy
  1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>  

 

2.數據庫連接語句

  •  設置characterencoding爲UTF-8 如jdbc.mysql.url=jdbc:mysql://localhost:3306/db?useUnicode=true&amp;characterEncoding=UTF8
  • 如果使用Hibernate,那就把所有的配置文件頭部的編碼格式改成UTF-8。

3.Tomcat

  •    爲了保證get/post數據都採用相同的UTF8編碼,我們在server.xml中進行了如下設置: <Connector port="8080" protocol="HTTP/1.1"                connectionTimeout="20000"                redirectPort="8443"  URIEncoding="UTF-8" />

4. struts2配置

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

在web.xml文件裏配置filter 

<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>
 </filter>
 
 <filter-mapping>
  <filter-name>encodingFilter</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping> 

5.數據庫(mysql)

可以先輸入查詢語句SHOW VARIABLES LIKE 'character_set_%';,查看所有的編碼是否是UTF-8.

如果不是可以使用Server Instance Config 把默認的字符集設置爲utf-8或者修改/MySQL/MySQL Server 5.0/my.ini中的default-character-set=gbk

character-set-server=gbk;

然後重新啓動mysql的服務就行了


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章