MySQL 設定 utf8 為預設 charset

Posted on Wed 13 February 2013 in note

因為 debian 預設還是 latin1 所以找了一下如何設定。有一種設定在 5.5.x(不確定哪一版開始) 之後會讓 mysqld 開不起來。

[mysqld]
default-character-set = utf8

上面這個設定是錯的,底下才是對的。

[client]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4

[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init-connect = 'SET NAMES utf8mb4'

mysqld 的部分不能用 default-character-set

找了一下資料才發現 utf8utf8mb4 不同。MySQL 中 utf8mb4 才能完全紀錄 unicode 的碼點。 可以參考: