【问题标题】:mysql chinese columnmysql中文专栏
【发布时间】:2011-06-15 03:02:28
【问题描述】:

在mysql中存储汉字,推荐存储为UTF8还是UCS2? (我使用的是 char 和 varchar)

另外,我看到 UTF8 使用 4 个字节的数据来存储值。 UCS2 使用了多少?

【问题讨论】:

    标签: php mysql unicode phpmyadmin


    【解决方案1】:

    我已经看到 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-17
      • 1970-01-01
      • 1970-01-01
      • 2017-09-29
      • 2015-10-21
      • 2013-09-11
      • 2016-02-19
      相关资源
      最近更新 更多