Mac 下MySQL數(shù)據(jù)庫中文亂碼解決方案:
當我們用框架進行數(shù)據(jù)庫的存儲操作時,經(jīng)常會遇到中文亂碼的問題骤肛。
如:在使用Java中的SSH框架時丁寄,我們需要在web.xml文件中配置編碼的filter,具體代碼是:
<span style="font-family:FangSong_GB2312;font-size:14px;"><!-- 表單處理亂碼,必須在OpenSessionInViewFilter的filter之前 -->
<filter>
<filter-name>CharacterFilter</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>
</filter>
<filter-mapping>
<filter-name>CharacterFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping></span>
然后進行數(shù)據(jù)庫存儲的時候發(fā)現(xiàn)存儲到數(shù)據(jù)庫的中文還是亂碼召边,這個時候調(diào)試項目發(fā)現(xiàn)最后傳入SQL的參數(shù)值已經(jīng)是正常的中文了菲茬,
那么這個時候我們就需要查看下數(shù)據(jù)庫的編碼了吉挣。
使用SQL命令查看默認的編碼格式:
show variables like "%char%";
查看test數(shù)據(jù)庫的編碼格式:
show create database test;
然后我們進行Max下的MySQL編碼修改:
由于Mac版的MySql默認字符集不是utf-8,所以需要如下步驟來進行修改
在 終端中輸入
sudo -s
然后提示輸入密碼婉弹,此密碼為系統(tǒng)密碼听想!
在命令行中輸入
cd /usr/local/mysql/support-files
繼續(xù)輸入(拷貝文件到etc目錄下)
cp my-default.cnf /etc/my.cnf
繼續(xù)輸入(進入etc目錄)
cd /etc
繼續(xù)輸入
vimy.cnf
這個時候,你會發(fā)現(xiàn)用vi工具打開了my.cnf文件马胧,它的光標的上下左右移動是通過鍵盤上的h、j衔峰、k佩脊、l這幾個按鍵,Mac系統(tǒng)版本不一樣10.9.3系統(tǒng)光標是鍵是起作用的垫卤!
然后按j鍵 把光標移動到[client]的最后威彰,添加一個屬性:(或使用下鍵)
default-character-set=utf8 (此屬性mysql 5.5之后不能夠在
mysqld下面增加,也就是5.5以前的版本穴肘,之后的版本忽略此屬性)
繼續(xù)按下鍵歇盼,把光標移動到[mysqld]后面,添加3個屬性
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci</span>
按鍵盤左上角的esc鍵推出編輯模式评抚,然后輸入一個冒號和字母x
重啟MySql服務,看看你通過程序插入數(shù)據(jù)是不是漢字了豹缀!