目前遇到的添加到MySQL數據庫中,中文亂碼解決方案!

一丶查看數據庫的默認編碼mysql

經過輸入密碼進入mysql:web

  輸入show variables like 'character%'; 查看mysql 的字符集spring

 

安裝MySQL數據庫時的默認編碼是latin1,實際使用時可能要使用其餘編碼。sql

 

二丶修改編碼 
修改MySQL的配置文件my.ini(windows系統下),位置在安裝目錄下。數據庫

1.在[client]下追加: 
default-character-set=utf8
2.在[mysqld]下追加: 
character-set-server=utf8
3.在[mysql]下追加: 
default-character-set=utf8
 windows

最後在重啓服務。tomcat

上面是查看數據庫中的字符集。app

咱們在實際添加的時候能夠查看web.xml中的 配置的解決字符亂碼的過濾器是否有用:編碼

這個解決字符亂碼的過濾器本人試過有用!url

<filter> 
<filter-name>characterEncodingFilter</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> 
<init-param> 
<param-name>forceEncoding</param-name> 
<param-value>true</param-value> 
</init-param> 
</filter> 
<filter-mapping> 
<filter-name>characterEncodingFilter</filter-name> 
<url-pattern>/*</url-pattern> 
</filter-mapping>

其次,咱們還要查看咱們數據庫中,本身建表時,是否也對應了utf-8這個字符集

咱們還能夠在properties配置文件中,

這欄:jdbc.url=jdbc:mysql:///數據庫名稱?useUnicode=true&characterEncoding=utf-8 加入這個useUnicode=true&characterEncoding=utf-8

或者?charactorEncoding=utf8 這兩個本身都用過。大概是說咱們在獲取數據庫鏈接對象的方法沒有給咱們限制字符集!

 

最後,咱們還能夠在tomcat 中的server.xml中設置一下 

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

相關文章
相關標籤/搜索