Mac MySQL client characterset 設定
Mac 編輯 my.cnf 設定檔,更改 MySQL 編碼設定。
不知道為什麼 某一次更新我的 Mac mysql client 之後,連進 mysql 的時候,預設編碼都會變成 latin1 ( 這其實是 mysql 最預設的編碼 )。
mysql> \s
--------------
mysql Ver 8.0.19 for osx10.15 on x86_64 (Homebrew)
# --- 略過 ---
Server characterset: latin1
Db characterset: utf8
Client characterset: latin1
Conn. characterset: latin1
# --- 略過 ---
Threads: 7 Questions: 45 Slow queries: 0 Opens: 18 Flush tables: 1 Open tables: 12 Queries per second avg: 0.093
--------------
其中 Server characterset、Client characterset、Conn. characterset 這三個項目都是我預期之外的,我預期的是 utf8 才對。
怎麽解決呢?方法是修改 /etc/my.cnf 設定檔,加入以下設定:
[client]
default-character-set=utf8
這樣就好了。
mysql> \s
--------------
mysql Ver 8.0.19 for osx10.15 on x86_64 (Homebrew)
# --- 略過 ---
Server characterset: latin1 # 這個應該是 Server 本身的設定,在 Client 這邊修改是沒有用的唷!
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
# --- 略過 ---
Threads: 7 Questions: 59 Slow queries: 0 Opens: 18 Flush tables: 1 Open tables: 12 Queries per second avg: 0.104
--------------
剛才上面有說,Server characterset 這個項目是 Server 端的設定,Client 端設定是無法改變的。那怎麽設定呢? 只要在 Server 端的 MySQL 服務,my.cnf 加入:
[mysqld]
character-set-server = utf8
這樣就設定完成了。