插入中文資料時報錯:ERROR 1366 (HY000): Incorrect string value: '\xE4\xB8\xAD\xE6\x96\x87' for column ...
MySQL 預設字符集為 latin1,不支援中文字元。資料庫/表/欄位/連線字符集任一環節非 utf8 即會報錯。
my.ini (Windows) 或 my.cnf (Linux),在 [mysqld] 區段加入:
default-storage-engine=INNODB character-set-server=utf8 collation-server=utf8_general_ci
[client] 區段加入:
default-character-set=utf8
SET NAMES utf8; -- 或 SET character_set_connection=utf8, character_set_client=utf8, character_set_results=utf8;
SHOW VARIABLES LIKE 'character_set%'; SHOW VARIABLES LIKE 'collation%'; -- 應全部顯示 utf8 / utf8_general_ci
注意:修改配置檔後若無法啟動,請檢查語法縮排與編碼;建議先備份原配置。