这个看起来很简单,但我好像什么也找不到。我的查询结束于: WHERE b6vjp_user_info.lastname LIKE '%ü%' 这些就是结果正如你所看到的,mysql使用ü 和u互换。但我不知道如何阻止它这么做。
WHERE b6vjp_user_info.lastname LIKE '%ü%'
2hh7jdfx1#
要么进行数字字符代码检查,要么使用区分重音的排序规则。如果您的查询不需要unicode规范化(即,您检查那些您事先知道它们没有特殊需要的字符串,例如(视觉上)不可区分的glyph的存在-通常是在您自己的查询中而不是外部输出的字符串),我将使用utf8\u bin(仅在特定查询中):
WHERE b6vjp_user_info.lastname LIKE '%ü%' COLLATE utf8_bin
请注意,这很可能会使搜索区分大小写,因此,如果您想要一个不区分大小写的sarch,您可以使用它 LOWER(b6vjp_user_info.lastname) .
LOWER(b6vjp_user_info.lastname)
1条答案
按热度按时间2hh7jdfx1#
要么进行数字字符代码检查,要么使用区分重音的排序规则。如果您的查询不需要unicode规范化(即,您检查那些您事先知道它们没有特殊需要的字符串,例如(视觉上)不可区分的glyph的存在-通常是在您自己的查询中而不是外部输出的字符串),我将使用utf8\u bin(仅在特定查询中):
请注意,这很可能会使搜索区分大小写,因此,如果您想要一个不区分大小写的sarch,您可以使用它
LOWER(b6vjp_user_info.lastname)
.