我按实体在数据库中保存了一些德语字符(例如föo => föo
)。
现在我有一个仅使用LIKE %search_word%
搜索匹配项的查询。 search_word
可能是包含特殊德语字符的输入。您能否建议将我的search_word
与存储在数据库中的{{1}}进行比较的最有效方法?
非常感谢。
答案 0 :(得分:0)
在将search_word
放入查询之前,使用相同的实体转化。
或者您可以停止保存数据白名单实体转换,并在需要时进行转换
答案 1 :(得分:0)
也许这已经是一个有效的答案:MySQL DB selects records with and without umlauts. e.g: '.. where something = FÖÖ'
您必须确保字符串编码(例如UTF8)和您的(MySQL)DB字符集匹配。看看哪些排序规则以及utf8_bin是否可以提供帮助。