文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 參考手冊  /  ...  /  伺服器字元集與校對

12.3.2 伺服器字元集與校對

MySQL 伺服器具有伺服器字元集與伺服器校對。預設情況下,這些是 utf8mb4utf8mb4_0900_ai_ci,但可以在伺服器啟動時透過命令列或選項檔案明確設定,並在執行階段變更。

最初,伺服器字元集與校對取決於您啟動 mysqld 時使用的選項。您可以使用 --character-set-server 來設定字元集。同時,您可以新增 --collation-server 來設定校對。如果您未指定字元集,則相當於指定 --character-set-server=utf8mb4。如果您只指定字元集 (例如 utf8mb4) 但未指定校對,則相當於指定 --character-set-server=utf8mb4 --collation-server=utf8mb4_0900_ai_ci,因為 utf8mb4_0900_ai_ciutf8mb4 的預設校對。因此,下列三個命令都具有相同的效果

mysqld
mysqld --character-set-server=utf8mb4
mysqld --character-set-server=utf8mb4 \
  --collation-server=utf8mb4_0900_ai_ci

變更設定的一種方式是透過重新編譯。若要在從原始碼建置時變更預設伺服器字元集與校對,請使用 CMakeDEFAULT_CHARSETDEFAULT_COLLATION 選項。例如

cmake . -DDEFAULT_CHARSET=latin1

cmake . -DDEFAULT_CHARSET=latin1 \
  -DDEFAULT_COLLATION=latin1_german1_ci

mysqldCMake 都會驗證字元集/校對組合是否有效。如果無效,每個程式都會顯示錯誤訊息並終止。

如果未在 CREATE DATABASE 陳述式中指定資料庫字元集與校對,則伺服器字元集與校對會用作預設值。它們沒有其他用途。

目前的伺服器字元集與校對可以從 character_set_servercollation_server 系統變數的值中判斷。這些變數可以在執行階段變更。