apt-get install mysql-server-5.6(非源碼編譯)/etc/mysql/conf.d/mysql.cnf(客戶端)、/etc/mysql/mysql.conf.d/mysqld.cnf(伺服端)[mysql] no-auto-rehash default-character-set=utf8
[mysqld] socket = /var/run/mysqld/mysqld.sock port = 3306 character-set-server = utf8 # 注意:5.6 用 server,非 set
sudo /etc/init.d/mysql restart
mysql> SHOW VARIABLES LIKE '%char%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+
所有 character_set_* 顯示 utf8 即配置成功。
ALTER DATABASE ... CHARACTER SET utf8、ALTER TABLE ... CONVERT TO CHARACTER SET utf8 遷移現有資料。
MySQL 5.5.3+ 支援 utf8mb4(真正的 UTF-8,含 Emoji/補充字符),建議新專案直接採用:
[mysqld] character-set-server = utf8mb4 collation-server = utf8mb4_general_ci [mysql] default-character-set = utf8mb4
Ubuntu apt 安裝版 MySQL 配置檔分離清晰,按上述步驟操作即可徹底解決中文亂碼問題。