php

utf-8、utf8mb4和utf8mb3有什么区别

2023-07-30

UTF-8是一种用于编码Unicode字符的可变长度字符编码标准。"utf8mb4"和"utf8mb3"则是UTF-8的两个变种。它们的主要区别在于能够表示的字符范围。

UTF-8使用1到4个字节来编码不同范围的Unicode字符。"utf8mb3"以前被称为普通的UTF-8,在这个编码中,使用最多3个字节来表示Unicode字符。这意味着"utf8mb3"可以表示Unicode字符的范围是从U+0000到U+FFFF。

而"utf8mb4"是对"utf8mb3"的扩展,它使用最多4个字节表示Unicode字符。由于"utf8mb4"可以处理更多的字节,因此可以表示更广泛的Unicode字符范围,包括一些辅助平面字符(Supplementary Planes),如Emoji表情符号和一些特殊符号。"utf8mb4"的字符范围从U+0000到U+10FFFF。

所以,"utf8mb4"相比于"utf8mb3"更加全面,能够处理更多种类的字符。但需要注意的是,在存储和处理数据时,使用"utf8mb4"可能会占用更多的存储空间和带宽,因为它需要更多的字节来表示字符。