💡
原文中文,约1800字,阅读约需5分钟。
📝
内容提要
在 MySQL 中,utf8 不支持部分 Emoji,而 utf8mb4 支持。默认的 utf8_general_ci 和 utf8mb4_general_ci 排序规则不区分大小写。要实现大小写敏感查询,可以修改排序规则或使用 BINARY 关键字。在 ThinkPHP 中,可通过 whereRaw 方法执行原生查询以确保大小写敏感匹配。
🎯
关键要点
- MySQL 中的 utf8 不支持部分 Emoji,而 utf8mb4 支持。
- utf8_general_ci 和 utf8mb4_general_ci 默认不区分大小写。
- 要实现大小写敏感查询,可以修改排序规则或使用 BINARY 关键字。
- utf8 是 MySQL 早期的 UTF-8 实现,最多支持 3 字节。
- utf8mb4 是 MySQL 5.5+ 版本推荐的 UTF-8 编码,最多支持 4 字节。
- 常见的排序规则包括 utf8_general_ci、utf8mb4_general_ci(不区分大小写)和 utf8_bin、utf8mb4_bin(区分大小写)。
- 使用 LIKE 或 = 进行查询时,默认是不区分大小写。
- 可以通过修改排序规则来实现区分大小写的查询。
- 在 ThinkPHP 中,使用 whereRaw 方法可以执行原生查询以确保大小写敏感匹配。
➡️