| 123456789101112131415161718 |
- """MySQL 字符串比较/模糊匹配时统一排序规则,避免 Illegal mix of collations。"""
- _UNICODE_CI = "utf8mb4_unicode_ci"
- def unicode_ci(col):
- """将列显式设为 utf8mb4_unicode_ci。"""
- return col.collate(_UNICODE_CI)
- def eq_unicode(left, right):
- """跨表字符串等值比较(JOIN / WHERE)时统一为 utf8mb4_unicode_ci。"""
- return unicode_ci(left) == unicode_ci(right)
- def like_unicode(col, pattern: str):
- """LIKE 模糊匹配时统一排序规则。"""
- return unicode_ci(col).like(pattern)
|