在mysql中存储中文字符,建议存储为UTF8还是UCS2?(我使用char和varchar)
另外,我还看到UTF8使用4个字节的数据来存储值。UCS2使用了多少?
发布于 2011-01-25 19:06:06
我见过UTF8使用4个字节的数据来存储值。UCS2使用了多少?
UTF-8由长度从1字节到3字节的可变长度字符组成,而UCS2 (UTF-16)是每个字符固定的2字节。
要在mysql中存储中文字符,建议存储为UTF8还是UCS2?
我没有使用汉字的经验,但这个问题的最高答案很好地回答了基本问题:Difference between UTF-8 and UTF-16?
从那里开始:
大多数合理的字符,如拉丁文、西里尔文、中文、日文都可以用2个字节表示。除非需要非常特殊的字符,否则这意味着UTF-16的16位子集可以用作固定长度的编码,从而加快索引速度。
似乎对于汉字来说,UCS-2倾向于节省存储空间。如果这是一个web项目,我会倾向于使用UTF-8,因为它是更广泛的编码,并且是web世界的标准。这里是UTF-8的其他参数:Should UTF-16 be considered harmful?
mySQL参考:9.1.10. Unicode Support
https://stackoverflow.com/questions/4792655
复制相似问题