【发布时间】:2011-06-15 03:02:28
【问题描述】:
在mysql中存储汉字,推荐存储为UTF8还是UCS2? (我使用的是 char 和 varchar)
另外,我看到 UTF8 使用 4 个字节的数据来存储值。 UCS2 使用了多少?
【问题讨论】:
标签: php mysql unicode phpmyadmin
在mysql中存储汉字,推荐存储为UTF8还是UCS2? (我使用的是 char 和 varchar)
另外,我看到 UTF8 使用 4 个字节的数据来存储值。 UCS2 使用了多少?
【问题讨论】:
标签: php mysql unicode phpmyadmin
我已经看到 UTF8 使用 4 个字节的数据来存储值。 UCS2 使用了多少?
UTF-8 由 1 到 3 个字节的可变长度字符组成,UCS2 (UTF-16) 是每个字符固定 2 个字节。
在mysql中存储汉字,推荐存储为UTF8还是UCS2?
我对汉字没有经验,但是这个 SO 问题的最佳答案很好地回答了基本问题:Difference between UTF-8 and UTF-16?
从那里:
大多数合理的字符,如拉丁文、西里尔文、中文、日文,都可以用 2 个字节表示。除非需要非常特殊的字符,否则这意味着 UTF-16 的 16 位子集可以用作固定长度编码,从而加快索引速度。
似乎对于汉字,UCS-2 倾向于节省存储空间。如果这是一个网络项目,我会倾向于使用 UTF-8,因为它是更广泛的编码,也是网络世界的标准。此处 UTF-8 的其他参数:Should UTF-16 be considered harmful?
mySQL 参考:9.1.10. Unicode Support
【讨论】: