Mac 下MySQL數據庫中文亂碼解決方案:
當我們用框架進行數據庫的存儲操作時,經常會遇到中文亂碼的問題。
如:在使用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>
然后進行數據庫存儲的時候發現存儲到數據庫的中文還是亂碼,這個時候調試項目發現最后傳入SQL的參數值已經是正常的中文了,
那么這個時候我們就需要查看下數據庫的編碼了。
使用SQL命令查看默認的編碼格式:
span style="font-family:FangSong_GB2312;font-size:14px;">show variables like "%char%";/span>
查看test數據庫的編碼格式:
span style="font-family:FangSong_GB2312;font-size:14px;">show create database test;/span>
然后我們進行Max下的MySQL編碼修改:
由于Mac版的MySql默認字符集不是utf-8,所以需要如下步驟來進行修改
在 終端中輸入
span style="font-family:FangSong_GB2312;font-size:14px;">sudo -s/span>
然后提示輸入密碼,此密碼為系統密碼!
在命令行中輸入
span style="font-family:FangSong_GB2312;font-size:14px;">cd /usr/local/mysql/support-files/span>
繼續輸入(拷貝文件到etc目錄下)
span style="font-family:FangSong_GB2312;font-size:14px;">cp my-default.cnf /etc/my.cnf/span>
繼續輸入(進入etc目錄)
span style="font-family:FangSong_GB2312;font-size:14px;">cd /etc/span>
繼續輸入
span style="font-family:FangSong_GB2312;font-size:14px;">vimy.cnf/span>
這個時候,你會發現用vi工具打開了my.cnf文件,它的光標的上下左右移動是通過鍵盤上的h、j、k、l這幾個按鍵,Mac系統版本不一樣10.9.3系統光標是鍵是起作用的!
然后按j鍵 把光標移動到[client]的最后,添加一個屬性:(或使用下鍵)
span style="font-family:FangSong_GB2312;font-size:14px;">default-character-set=utf8(此屬性mysql 5.5之后不能夠在
mysqld下面增加,也就是5.5以前的版本,之后的版本忽略此屬性)/span>
繼續按下鍵,把光標移動到[mysqld]后面,添加3個屬性
span style="font-family:FangSong_GB2312;font-size:14px;">default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci/span>
按鍵盤左上角的esc鍵推出編輯模式,然后輸入一個冒號和字母x
重啟MySql服務

此時再次執行數據庫操作,中文已經可以正常存儲了!
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
您可能感興趣的文章:- 教你如何在Mac上安裝mysql數據庫
- MAC下MYSQL數據庫密碼忘記的解決辦法
- Mac環境下php操作mysql數據庫的方法分享
- mac安裝mysql數據庫及配置環境變量的圖文教程