【问题标题】:MySQL searching non-english characters - o = ø, etcMySQL 搜索非英文字符 - o = ø 等
【发布时间】:2013-01-18 17:05:57
【问题描述】:

我的 mySQL 排序规则设置为 utf8_general_ci 并且尽管我的搜索不区分变音符号,即 LIKE 'test' 返回 'tést',但我想要进行的一些搜索会失败,尤其是 LIKE 'host'不返回“høst”。

两个问题:是否有一个表格可以显示特定排序规则的等效字符?有没有办法在 mySQL 中将两个字符设置为等效字符作为替代?

感谢您的帮助。

【问题讨论】:

    标签: mysql collation


    【解决方案1】:

    要回答第一个问题,您可以参考collation-charts.org。这有点痛苦,因为您需要手动搜索每个排序规则,但它会向您展示它们是如何堆叠的。

    MySQL 手册中的相关部分也可以找到here

    至于您的第二个问题,我不确定您是否可以对特定角色进行显式覆盖;但是,如果您愿意,您可以创建自己的自定义字符集。

    您可以阅读有关创建自定义排序规则的信息from the MySQL manual

    【讨论】:

    • 大量非常有用的信息,谢谢。我不明白为什么 utf8_general 和 utf8_unicode 有多个排序规则集,但我确信信息在那里。但是,它确实证实了 Ø 不被视为 O 的变音符号,因此如果我希望它们返回,我必须在我的 php 代码中创建一个特殊的 str_replace。谢谢!
    • 没问题,如果您认为我已经充分回答了您的问题,请不要忘记将问题标记为已回答。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-28
    • 1970-01-01
    相关资源
    最近更新 更多