【发布时间】:2012-07-16 07:31:51
【问题描述】:
我按实体在数据库中保存了一些德语字符(例如。föo => föo)。
现在我有一个查询,它只使用LIKE %search_word% 搜索匹配项。 search_word 可能是包含特殊德语字符的输入。您能否提出最有效的方法来比较我的search_word 和存储在数据库中的那个?
非常感谢。
【问题讨论】:
标签: php mysql diacritics
我按实体在数据库中保存了一些德语字符(例如。föo => föo)。
现在我有一个查询,它只使用LIKE %search_word% 搜索匹配项。 search_word 可能是包含特殊德语字符的输入。您能否提出最有效的方法来比较我的search_word 和存储在数据库中的那个?
非常感谢。
【问题讨论】:
标签: php mysql diacritics
也许这已经是一个有效的答案:MySQL DB selects records with and without umlauts. e.g: '.. where something = FÖÖ'
您必须确保字符串编码(例如 UTF8)和您的 (MySQL) DB 字符集匹配。查看排序规则的作用以及 utf8_bin 是否有帮助。
【讨论】:
在将其放入查询之前,在 search_word 使用相同的实体转换。
或者您可以停止保存实体转换的数据,并在需要时进行转换
【讨论】: