将所有mysql表从latin1_swedish_ci切换到utf8_unicode_ci时是否会产生影响?

时间:2011-08-25 19:42:58

标签: mysql character-encoding

我们目前有大约30个表使用latin1_sweedish_ci作为编码。我意识到utf8_unicode_ci是一个更安全的编码使用,我想将所有这些表转换为。

我的问题是,

  1. 我可以将所有这些表转换为utf8_unicode_ci而不会导致任何数据损坏。
  2. 如果瑞典人到目前为止工作正常,是否还有一个合理的理由呢?
  3. 是否可以在新创建的表上使用utf8_unicode_ci?

1 个答案:

答案 0 :(得分:1)

  

我可以将所有这些表转换为utf8_unicode_ci而不会导致任何数据损坏。

如果您正在使用纯mySQL(即您实际上没有使用使用表的Web应用程序),这可能会没问题。切换表排序将转换数据,只要这是可能的(如果转换为UTF-8到latin1,则不一定是转换,因为UTF-8的范围更宽,并且有许多字符,latin1不能显示)。

如果一个或多个应用程序正在访问这些表,那么它们将全部依赖于它们以及它们是否可以完全处理UTF-8数据。例如,许多PHP应用程序都不能。