utf8和latin1之间的差异

时间:2010-04-25 16:38:06

标签: mysql utf-8 installation latin1

utf8和latin1有什么区别?

2 个答案:

答案 0 :(得分:136)

UTF-8已为世界统治做好准备,Latin1不是。

如果您尝试使用Latin1编码存储非拉丁字符,如中文,日文,希伯来文,俄文等,那么它们最终会以mojibake结尾。您可能会发现this article的介绍性文本很有用(如果您对Java有所了解,甚至更多)。

请注意,MySQL 5.5中仅引入了完整的4字节UTF-8支持。在该版本之前,每个字符最多只能有3个字节,而不是每个字符4个字节。因此,它仅支持BMP平面而不支持例如BMP平面。表情符号飞机。如果你想要完整的4字节UTF-8支持,请将MySQL升级到至少5.5或者去另一个像PostgreSQL这样的RDBMS。在MySQL 5.5+中,它被称为utf8mb4

答案 1 :(得分:39)

在latin1中,每个字符只有一个字节长。在utf8中,一个字符可以包含多个字节。因此,utf8比latin1有更多的字符(它们共同的字符不一定用相同的字节/字节序列表示)。