編輯 MySQL 安裝目錄下的 my.ini(Windows)或 my.cnf(Linux),在三個區段皆設定 default-character-set=utf8:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
ALTER 處理SHOW VARIABLES LIKE 'character_set_%';
-- 期望結果:client, connection, database, results, server 皆為 utf8
-- 資料庫層級
ALTER DATABASE db_name CHARACTER SET utf8 COLLATE utf8_general_ci;
-- 資料表層級 (含欄位轉換)
ALTER TABLE tbl_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
-- 僅修改預設字符集 (不轉換現有欄位)
ALTER TABLE tbl_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
-- 單一欄位
ALTER TABLE tbl_name CHANGE col_name col_name VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci;
[mysqld] 而漏改 [client]/[mysql]utf8 包含完整 Unicode(實為 utf8mb3),需存 Emoji 請用 utf8mb4