CREATE DATABASE `db_name`
DEFAULT CHARACTER SET utf8
COLLATE utf8_general_ci;
說明:
utf8:MySQL 早期 UTF-8 實作,僅支援 BMP 平面(3 位元組),不含 Emojiutf8mb4:完整 UTF-8(4 位元組),支援 Emoji、生僻字,**強烈建議新專案使用**utf8_general_ci:不區分大小寫、速度快、精度略低utf8_unicode_ci:Unicode 標準排序、精度高、稍慢現代最佳實踐:
CREATE DATABASE `db_name`
DEFAULT CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
CREATE DATABASE `db_name`
DEFAULT CHARACTER SET gbk
COLLATE gbk_chinese_ci;
適用於僅需支援中文字元、儲存空間敏感的舊專案。
SHOW CREATE DATABASE db_name;
SHOW VARIABLES LIKE 'character_set_database';
SHOW VARIABLES LIKE 'collation_database';
ALTER DATABASE `db_name`
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
注意:僅影響後續建立的表,既有表需逐一 ALTER TABLE ... CONVERT TO CHARACTER SET ... 轉換。
[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'
應用程式連線字串建議加入 Charset=utf8mb4。