更改列整理 - 是否安全?

时间:2011-09-08 10:12:01

标签: mysql phpmyadmin collation php4

我的票务系统中有一张包含15,000条记录的表格,每条记录都包含一封电子邮件,该电子邮件已转换为要添加到故障单中的邮件。

我们当前的问题是整理 - 当我得到系统时,它正在使用latin1_swedish_ci。但是,我们在系统中使用了几种欧洲语言,因此我们需要能够正确存储非ASCII字符。

我无法使用latin1_swedish_ci排序规则,但我在系统的测试版本中发现将排序规则切换为utf8_bin可以解决问题。

所以我需要知道在实时系统上对我的表/列进行此更改是否安全。这会花费很长时间(当你试图让它真的很难用时,PHPMyAdmin非常可怕)还是会破坏现有数据?

1 个答案:

答案 0 :(得分:6)

当第一个字符集中的所有字符都可以在第二个字符集中表示时,从一个字符集转换为另一个字符集是安全的。

latin1到utf8就属于这种情况:这是安全的。

但是,您必须确保应用程序本身可以处理utf8数据。

在utf8_bin上: utf8 部分是字符集(如何编码字符), bin 部分是整理。不要使用 bin ,它会使所有内容区分大小写,这可能不是您所期望的。请尝试使用utf8_unicode_ci。 (见http://dev.mysql.com/doc/refman/5.5/en/charset-unicode-sets.html