MySQL UTF / Unicode迁移提示

时间:2008-09-05 22:32:27

标签: mysql unicode utf-8 internationalization

当尝试将MySQL表从默认的不区分大小写的瑞典语或ascii字符集迁移到utf-8时,是否有任何人有任何提示或难以理解的时刻?我参与的一些项目正在努力实现更好的国际化,数据库将成为这一变化的重要组成部分。

在我们想要改变数据库之前,我们将转换每个站点以使用UTF-8字符编码(从最不重要到大多数)来帮助确保所有输入/输出使用相同的字符集。

感谢您的帮助

5 个答案:

答案 0 :(得分:2)

一些提示:

  • 您的CHARVARCHAR列最多可使用3倍的磁盘空间。 (瑞典语单词可能不会增加太多的磁盘空间。)
  • 在读取或写入数据库之前使用SET NAMES utf8。如果你不这样做,你会得到部分乱码。

答案 1 :(得分:1)

答案 2 :(得分:1)

注意索引长度限制。如果表格是结构化的,请说:

一个varchar(255) b varchar(255) 键('a','b')

你将超过密钥长度的1000字节限制。 255 + 255没问题,但255 * 3 + 255 * 3不起作用。

答案 3 :(得分:0)

  

您的CHARVARCHAR列最多可使用3倍的磁盘空间。

只有当他们被塞满了带有序数的latin-1> 128.否则,UTF-8的空间使用增加很少。

答案 4 :(得分:0)

整理并不总是有利的。你会得到umlats整理到非umlatted版本,这并不总是正确的。可能想去w / utf8_bin,但是一切都是区分大小写的。