我有一个带有utf8一般ci排序规则的MySQL表。在表中,我可以看到两个条目:
阿巴德 阿巴德
我正在使用如下查询:
SELECT * FROM `words` WHERE `word` = 'abád'
查询结果给出两个词:
有没有办法表明我只希望MySQL找到带重音的单词?我希望查询仅返回
阿巴德
我也尝试过以下查询:
SELECT * FROM `words` WHERE BINARY `word` = 'abád'
它没有给我任何结果。感谢您的帮助。
如果您对该字段的搜索始终对重音敏感,则将该字段的排序规则声明为utf8_bin(这将比较utf8编码的字节是否相等),或使用特定于语言的排序规则来区分重音和un -重音字符。
col_name varchar(10) collate utf8_bin
如果搜索通常对重音不敏感,但是您想对此搜索例外,请尝试;
WHERE col_name = 'abád' collate utf8_bin