MySQL Connection Failed: Can't initialize character set charset_name
客戶端/驅動程式無法載入指定字符集的定義或轉換邏輯。
多位元組字符集 (utf8mb4, gbk, sjis 等) 需客戶端庫編譯時包含。標準 MySQL 二進制發布已含 --with-extra-charsets=complex,但精簡版/嵌入式/第三方編譯可能缺失。
解決:重新編譯客戶端 --with-charset=charset_name 或 --with-extra-charsets=complex;或升級官方完整版客戶端庫。
簡單字符集 (latin1 等) 依賴 .conf/.xml 定義檔。客戶端預期路徑 (通常為 share/charsets/ 或 mysql/charsets/) 找不到檔案。
解決三選一:
--with-charset=charset_name--character-sets-dir=/path/to/charsetsutf8 vs utf8mb4 (MySQL 8.0 預設 utf8mb4)gb2312 實際為 gbk 超集charset=utf8mb4 驅動版本需支援SHOW CHARACTER SET LIKE 'charset_name';mysql --help | grep charset 或驅動文檔character_sets_dir 變數:SHOW VARIABLES LIKE 'character_sets_dir';mysql --default-character-set=charset_name -u root -pLANG/LC_ALL 干擾utf8mb4:資料庫、表、欄位、連線、應用層jdbc:mysql://host/db?characterEncoding=utf8mb4 / mysqli_set_charset($link, 'utf8mb4')[client] default-character-set=utf8mb4charsets 目錄