MySql修改資料庫編碼為UTF8

王爵nice發表於2016-05-16

mysql 建立 資料庫時指定編碼很重要,很多開發者都使用了預設編碼,亂碼問題可是防不勝防。制定資料庫的編碼可以很大程度上避免倒入匯出帶來的亂碼問題。

網頁資料一般採用UTF8編碼,而資料庫預設為latin 。我們可以通過修改資料庫預設編碼方式為UTF8來減少資料庫建立時的設定,也能最大限度的避免因粗心造成的亂碼問題。
我們遵循的標準是,資料庫,表,欄位和頁面或文字的編碼要統一起來
我們可以通過命令檢視資料庫當前編碼:
mysql> SHOW VARIABLES LIKE `character%`;
發現很多對應的都是 latin1,我們的目標就是在下次使用此命令時latin1能被UTF8取代。
第一階段:
mysql設定編碼命令

SET character_set_client = utf8;
SET character_set_connection = utf8;
SET character_set_database = utf8;
SET character_set_results = utf8;
SET character_set_server = utf8;

然後 mysql> SHOW VARIABLES LIKE `character%`; 你可以看到全變為 utf8
但是,這只是一種假象
此種方式只在當前狀態下有效,當重啟資料庫服務後失效。
所以如果想要不出現亂碼只有修改my.ini檔案,
my.ini下手(標籤下沒有的新增,有的修改)

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
default-character-set=utf8

以上3個section都要加default-character-set=utf8,平時我們可能只加了mysqld一項。
然後重啟mysql,執行
mysql> SHOW VARIABLES LIKE `character%`;
確保所有的Value項都是utf8即可

我的github地址:http://github.com/biezhi
開源框架Blade:http://github.com/biezhi/blade


相關文章