在之前的一篇隨筆裡已經記錄了在CentOS下安裝mysql的過程(Linux學習之CentOS(十三)--CentOS6.4下Mysql資料庫的安裝與配置),但是當我們在試圖對資料庫中的資料進行備份或者將sql檔案匯入到我們的資料庫時可能就會碰到編碼的問題,在windows下安裝mysql時我們可以在安裝的時候就選擇好整個資料庫的編碼方式(通常設定成utf8),在linux下安裝mysql的時候就不會有圖形介面的安裝,所以這篇隨筆將記錄一下如何在Linux系統下修改MySQL編碼的方法
預設登陸到mysql後,我們首先可以通過 show variable like 命令來查看系統變數
例如我們可以通過 show variable like '%character%' 命令來查看資料庫的編碼:
我們可以看到在安裝了mysql後,預設的資料庫編碼方式基本都設定成了latin1的編碼方式,此時我們需要將其修改成utf8的編碼格式。
下面是在CentOS6.4環境下修改設定檔,其他Linux發行版本該設定檔的位置可能不同,但是改變的內容是一樣的
1.首先我們要找到mysql的主設定檔,然後將其複製到 /etc 目錄下
[root@xiaoluo ~] cp /usr/share/doc/mysql-server-5.1.69/my-large.cnf /etc/my.cnf
2.修改my.cnf設定檔
①在[client]下增加 default-character-set=utf8 欄位
②在[mysqld]下增加 default-character-set=utf8 欄位
③同時加上init_connect='SET NAMES utf8' (設定串連mysql資料庫時使用utf8編碼,以讓mysql資料庫為utf8運行)
3.重新啟動mysqld服務
[root@xiaoluo ~] service mysqld restart
這時我們再次登陸到mysql裡面,然後輸入 show variables like '%character%'; 命令來查看一下當前資料庫的編碼方式時,發現已經由原來的 latin1 變成了 utf8 編碼方式了
如果做了以上修改如果直接資料庫再建立表,然後存入中文,取出來的還是問號的話。
此時我們可以通過如下的解決辦法:建立資料庫的時候指明預設字元集為utf8
例如:create database xiaoluo charset=utf8;
您可以通過點擊 右下角 的按鈕 來對文章內容作出評價, 也可以通過左下方的 關注按鈕 來關注我的部落格的最新動向。 如果文章內容對您有協助, 不要忘記點擊右下角的 推薦按鈕 來支援一下哦 如果您對文章內容有任何疑問, 可以通過評論或發郵件的方式聯絡我: 501395377@qq.com / lzp501395377@gmail.com