MySQL 5.6/5.7 預設字符集仍為 latin1,中文環境必須全域切換至 utf8(或 utf8mb4)。本文以 5.6 為例,記錄配置修改、重啟驗證全流程。
SHOW VARIABLES LIKE '%char%';

C:\Program Files\MySQL\MySQL Server 5.6my-default.ini → my.ini[mysqld] 與 [client] 區段各加一行:
default-character-set=utf8
SHOW VARIABLES LIKE '%char%';

utf8(MySQL 別名 utf8mb3):僅支援 BMP 平面(3 字節),不支援 Emoji、生僻字utf8mb4:完整 Unicode(4 字節),支援所有字符,**生產環境強烈建議**[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
-- 庫級
ALTER DATABASE db_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-- 表級(含欄位)
ALTER TABLE tbl_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
my.ini 後必須重啟服務生效utf8 不是真正 UTF-8,新專案直接上 utf8mb4collation 推薦 utf8mb4_unicode_ci(Unicode 標準排序)或 utf8mb4_0900_ai_ci(8.0+,效能更好)SET NAMES utf8mb4 或連線池配置 connectionInitSqls一勞永逸修正字符集,杜絕「????」、「」亂碼噩夢。