文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  ...  /  伺服器字元集和校對

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 系統變數的值確定。這些變數可以在執行階段變更。