使用 utf8mb4 归类,不同字符在 "where" 条件下相等
With utf8mb4 collation different characters are equal in "where" condition
字段 'name' 是 utf8mb4_unicode_ci 排序规则。当我查询时:
SELECT * FROM `tags` WHERE `name` = 'kliutys'
selects 条记录,值为 'kliūtys'。如何使 mysql select 完全匹配并将 'ū' 视为与 'u' 不同的字符?
我建议将 tags
列排序规则更改为 utf8mb4_bin
。
其他选项将在 select 中指定排序规则:
SELECT * FROM `tags` WHERE `name` COLLATE utf8mb4_bin = 'kliutys'
更多信息:
https://dev.mysql.com/doc/refman/5.7/en/charset-collate.html
字段 'name' 是 utf8mb4_unicode_ci 排序规则。当我查询时:
SELECT * FROM `tags` WHERE `name` = 'kliutys'
selects 条记录,值为 'kliūtys'。如何使 mysql select 完全匹配并将 'ū' 视为与 'u' 不同的字符?
我建议将 tags
列排序规则更改为 utf8mb4_bin
。
其他选项将在 select 中指定排序规则:
SELECT * FROM `tags` WHERE `name` COLLATE utf8mb4_bin = 'kliutys'
更多信息: https://dev.mysql.com/doc/refman/5.7/en/charset-collate.html