我希望查询一个葡萄酒名称的数据库,其中许多葡萄酒名称包含重音符号(但不是统一的方式,因此可能会输入相似的葡萄酒名称,有些带有重音符号,有些则没有)
基本查询如下:
SELECT * FROM `table` WHERE `wine_name` REGEXP '[[:<:]]Faugères[[:>:]]'
这将返回标题中包含“Faugères”的条目,但不包括“Faugeres”。
SELECT * FROM `table` WHERE `wine_name` REGEXP '[[:<:]]Faugeres[[:>:]]'
做相反的事情。
我之前想过类似这样的东西:
SELECT *
FROM `table`
WHERE `wine_name` REGEXP '[[:<:]]Faug[eèêéë]r[eèêéë]s[[:>:]]'
也许可以解决问题,但这样只能返回没有重音符号的结果。
该字段的排序规则为utf8_unicode_ci,根据我所读到的,应该是这样的。
有什么建议吗?!