mysql utf-8 utf-8mb4字符集有哪些具体的区别

发布时间 2023-06-06 10:30:53作者: 滴滴滴

在 MySQL 中,UTF-8 和 UTF-8mb4 都是针对 Unicode 字符集的编码方式。它们之间的主要区别在于能够存储的字符范围不同。

UTF-8 编码使用 1 到 4 个字节来表示字符,其中大部分字符只需要 1 到 3 个字节,而只有一小部分需要 4 个字节来表示,这些字符包括一些较新的 Emoji 和组合字符。UTF-8 可以表示 Unicode 规范中的所有字符,包括 BMP(基本多文种平面)和第一个辅助平面(Supplementary Planes)。

而 UTF-8mb4 编码则是为了解决 MySQL 中默认的 UTF-8 编码不能存储 4 字节 Unicode 字符的问题而引入的。UTF-8mb4 使用 1 到 4 个字节来表示字符,可以存储所有的 Unicode 字符,包括 BMP 和所有的补充字符。

因此,在选择字符集时,如果你需要存储包含 Emoji 或者其他 4 字节字符的数据,那么应该选择 UTF-8mb4 编码,否则 UTF-8 编码就可以满足大部分的需求。