MySQL UTF/Unicode 迁移技巧

5
有没有人在尝试将MySQL表从默认的不区分大小写的瑞典或ascii字符集迁移到utf-8时有任何提示或需要注意的地方?我参与的一些项目正在努力改进国际化,数据库将成为这种变化的重要组成部分。
在我们考虑更改数据库之前,我们将逐个将每个站点转换为使用UTF-8字符编码(从最不关键到最关键),以确保所有输入/输出都使用相同的字符集。
感谢任何帮助。
5个回答

2

一些提示:

  • 你的CHARVARCHAR列将使用多达3倍的磁盘空间。(对于瑞典语单词,您可能不会获得太多磁盘空间增长。)
  • 在读写数据库之前使用SET NAMES utf8。如果不这样做,则会出现部分乱码字符。

1

1

注意索引长度限制。如果一个表结构如下:

a varchar(255) b varchar(255) key ('a', 'b')

你会超过1000字节的键长度限制。255+255没问题,但255*3 + 255*3行不通。


0
你的 CHARVARCHAR 列将使用多达 3 倍的磁盘空间。

只有当它们被填满了带有序数大于 128 的 Latin-1 时,否则 UTF-8 的增加空间使用是最小的。


0

字符集并不总是有利的。你会发现带有变音符号的字符与没有变音符号的字符混在一起,这并不总是正确的。也许应该选择 utf8_bin,但这样所有的字符都将区分大小写。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接