【问题标题】:match special characters from input to stored in database将输入中的特殊字符匹配到存储在数据库中
【发布时间】:2012-07-16 07:31:51
【问题描述】:

我按实体在数据库中保存了一些德语字符(例如。föo => föo)。

现在我有一个查询,它只使用LIKE %search_word% 搜索匹配项。 search_word 可能是包含特殊德语字符的输入。您能否提出最有效的方法来比较我的search_word 和存储在数据库中的那个?

非常感谢。

【问题讨论】:

    标签: php mysql diacritics


    【解决方案1】:

    也许这已经是一个有效的答案:MySQL DB selects records with and without umlauts. e.g: '.. where something = FÖÖ'

    您必须确保字符串编码(例如 UTF8)和您的 (MySQL) DB 字符集匹配。查看排序规则的作用以及 utf8_bin 是否有帮助。

    【讨论】:

      【解决方案2】:

      在将其放入查询之前,在 search_word 使用相同的实体转换。

      或者您可以停止保存实体转换的数据,并在需要时进行转换

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多