【问题标题】:Converting a database from one character encoding to another将数据库从一种字符编码转换为另一种
【发布时间】:2009-10-21 10:38:49
【问题描述】:

我有一个 MYSQL 数据库。文本当前存储在字符集latin1,排序规则latin1_swedish_ci 中。这些是默认值,在最初创建数据库的时候这不是问题。

我想切换到 UTF8,以便数据库中的文本编码与使用该数据库的网站上其他地方使用的文本编码相匹配。

我的问题是,在转换数据时我会遇到什么问题,我应该注意什么。我们的大部分文本都适合普通的 acsii,但可能偶尔会有重音字符...

我认为就更改数据的最佳方法征求任何建议也是明智的。

【问题讨论】:

    标签: mysql utf-8 character-encoding latin1


    【解决方案1】:

    如果您要从 ASCII 转换为 UTF-8,我希望除了一些重音字符之外,您会没事的。根据我的经验,倒退是个问题。

    【讨论】:

    • 所以 mysql 会处理所有细节,将任何重音字符转换为适当的 utf8 编码,给我留下一个正确编码的 utf8 字符表?
    • 理论上是的。我已经在继承的 MySQL 4.x DB 上从 ASCII 转换为 UTF,它似乎没有破坏任何东西。
    【解决方案2】:

    如果您将数据移动到其他表,请注意。如果表编码将是例如latin1 并且您不小心将原始 UTF8 放在那里,将其重新编码为正确的编码会很痛苦(如果您没有源数据)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-16
      • 2021-12-18
      • 1970-01-01
      • 2020-11-22
      • 2017-01-08
      • 2016-10-09
      • 2011-04-30
      • 1970-01-01
      相关资源
      最近更新 更多