Fork me on GitHub

Mysql8.0建库Collation推荐

✅ utf8mb3 vs utf8mb4 对比

项目 utf8mb3 utf8mb4
字节长度 最多 3 字节 最多 4 字节
Unicode 支持范围 支持基本多文种平面(BMP) 支持所有 Unicode 字符(含 Emoji、特殊符号)
是否支持 Emoji ❌ 不支持 ✅ 完整支持
是否为官方推荐 ❌ MySQL 8 开始不推荐使用 ✅ MySQL 8 默认字符集
向后兼容性 ✅ 可用于旧系统 ✅ 完全兼容 utf8mb3 的字符
向前兼容性 ❌ 不支持 utf8mb4 中 4 字节字符 ✅ 完整支持旧 utf8mb3 内容
常见错误 Incorrect string value 很少出错(除非插入非法字符)
MySQL 使用情况 老版本(≤ 5.7)默认字符集 新版本(≥ 8.0)默认字符集
实际用途建议 仅限旧项目维持 所有新项目统一使用

✅ utf8mb4推荐使用

Collation 含义解释
utf8mb4_0900_ai_ci 默认推荐 ✅:不区分大小写、不区分重音,MySQL 8+ 默认
utf8mb4_0900_as_cs 区分大小写 & 区分重音,适合严格匹配需求
utf8mb4_unicode_520_ci 基于 Unicode 5.2 的 Unicode 规则,兼容性更好
utf8mb4_unicode_ci 基于 Unicode 4.0 的旧版规则,已逐步被替代

📌 推荐选择场景

使用场景 推荐 Collation 原因
通用系统(电商、博客等) utf8mb4_0900_ai_ci 兼顾性能与准确性,支持 Emoji 和多语言
要严格区分大小写 utf8mb4_0900_as_cs 比如用户名、文件路径、密码等需区分场景
老系统升级 utf8mb4_unicode_520_ci Unicode 5.2,修复了部分 unicode_ci 的问题
国际化多语言应用 utf8mb4_0900_ai_ci 全面支持重音、德语 ß、希腊语、俄语等字符
数据库全文索引/搜索优化 utf8mb4_0900_ai_ci 通用语义排序友好,查询性能较好
posted @ 2025-07-17 21:26  秋夜雨巷  阅读(36)  评论(0)    收藏  举报