【问题标题】:How to solve collation error in Mysql?如何解决Mysql中的排序规则错误?
【发布时间】:2018-01-17 03:25:05
【问题描述】:

我将 Microsoft SQL 数据库迁移到 Mysql,并且在 Mysql 中的行中有一些排序规则问题,我尝试更改排序规则,但错误仍然存​​在。数据将在 Wordpress 中,所以我尝试了 Database Collat​​ion Fix 插件,但不起作用。

受影响的表是 post_title 和 post_content 中的 wp_posts。所有在西班牙语中包含重音或“ñ”的字符都被随机字符替换。

我已经尝试过 utf8_spanish_ciutf8mb4_spanish_ci

有什么建议吗?

Microsoft SQL 数据库排序规则: Modern_Spanish_CI_AI

Mysql 数据库排序规则: UTF8 默认排序规则

谢谢

【问题讨论】:

  • “一些整理问题”对您的问题的描述不够详细。这里没有足够的信息来准确地帮助你。但是,出现了一个明显的问题:您能否将 MySQL 的排序规则更改为与 MS SQL 相同的排序规则(最好在将数据迁移到它之前)?还是会破坏 Wordpress?
  • 请考虑对您的问题发送edit 以提供更多详细信息。 WordPress中有什么表?请显示它的定义。 某些行中的一些排序规则问题不够具体,无法猜测出什么问题。

标签: mysql sql sql-server wordpress collation


【解决方案1】:

我不知道这是否对您有帮助,但 MySQL 的现代西班牙语 utf8_spanish_ci 和/或 utf8mb4_spanish_ci 排序规则中的排序顺序与 utf8_unicode_ci 和/或 utf8mb4_unicode_ci 中的排序顺序不同。

现代西班牙语排序规则将NÑ 处理为单独的字符,Ñ 直接在N 之后。通用拉丁语排序规则将它们视为相同字符的变体。因此,如果您需要西班牙语排序规则——也就是说,如果您要处理大量专有名称等等——您将需要对这些数据使用西班牙语排序规则。

【讨论】:

    【解决方案2】:

    如果ñ 变成了?,你就遇到了一种问题。
    如果ñ 变成ñ,你就有了“Mojibake”。
    如果ñ 变成,那就是另一个问题了。

    请更具体,因为解决方案完全不同。

    Trouble with utf8 characters; what I see is not what I stored 提供有关常见问题的信息。

    “排序规则”与 ñ 被“随机字符”替换无关。只有CHARACTER SET 是相关的。

    当您开始比较或排序字符串时,然后COLLATION 变得相关。我认为..._spanish_ci...spanish2_ci 之间的唯一区别是chll 的处理。

    【讨论】:

    猜你喜欢
    • 2011-03-03
    • 1970-01-01
    • 2022-01-22
    • 2012-11-14
    相关资源
    最近更新 更多