Files
2026-05-28 00:15:29 +08:00

19 lines
548 B
Python

"""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)