字符集别将就要点
- 完整语法带 CHARACTER SET 和 COLLATE 两段
- 写法:CREATE DATABASE 库 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
- CHARACTER SET 决定能存哪些字符
- COLLATE 决定字符串怎么比较和排序
- utf8mb4 才是完整 Unicode,含 emoji 和生僻字
- 不写就沿用服务器默认字符集,可能跟你预期不一样
字符集别将就示例
-- 建库同时定好字符集和排序规则
CREATE DATABASE shop_db
CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci;
-- 不确定环境时,带 IF NOT EXISTS 的安全写法
CREATE DATABASE IF NOT EXISTS shop_db
CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci;
避坑提醒:新项目别再用旧版 utf8,它最多 3 字节,存 emoji 直接报错;utf8mb4 才是真·完整 UTF-8。