USE db_name;
SHOW VARIABLES LIKE 'character_set_database';
+------------------------+--------+
| Variable_name | Value |
+------------------------+--------+
| character_set_database | latin1 |
+------------------------+--------+
ALTER DATABASE db_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
驗證:再次執行 SHOW VARIABLES LIKE 'character_set_database'; 應顯示 utf8mb4。
ALTER DATABASE 僅修改**新建表**的默認字符集,**現有表不受影響**ALTER TABLE tbl CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;utf8mb4 支持 4 字節字符(Emoji、生僻字),utf8 僅支持 3 字節,**強烈建議全鏈路使用 utf8mb4**
# my.ini / my.cnf
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect = 'SET NAMES utf8mb4'
jdbc:mysql://host:3306/db?characterEncoding=utf8mb4&useSSL=falsecharset='utf8mb4'charset=utf8mb4