utf8和utf8mb3什么区别
时间: 2023-09-08 15:13:06 浏览: 353
UTF-8 和 UTF8MB3 是两种字符编码方式,主要用于存储和表示Unicode字符集中的字符。它们之间的区别在于字符编码的长度和支持的字符范围。
UTF-8 是一种可变长度的编码方式,它使用1到4个字节来表示不同的字符。UTF-8 可以表示 Unicode 字符集中的所有字符,包括 ASCII 字符(使用单个字节表示)和其他非ASCII字符(使用多个字节表示)。
UTF8MB3 是 MySQL 数据库中的一种特殊的字符编码方式,它是基于 UTF-8 的一种子集。UTF8MB3 只支持最多3个字节的编码,因此不能表示 Unicode 字符集中的所有字符。具体来说,UTF8MB3 只能表示 Unicode 编码范围内的 BMP(基本多文种平面)字符,而不能表示辅助平面字符。
从 MySQL 5.5.3 版本开始,默认的字符集和排序规则已经从 UTF8MB3 改为了 UTF-8。这个改变使得 MySQL 能够更好地支持 Unicode 字符集,并能够存储和处理更广泛的字符范围。
总结来说,UTF-8 是一种更通用的字符编码方式,能够表示 Unicode 字符集中的所有字符,而 UTF8MB3 则是 MySQL 特定的一种编码方式,只能表示 BMP 字符范围内的字符。
相关问题
utf8和utf8mb3区别
在MySQL中,utf8和utf8mb3是等价的,都是最大3字节的unicode字符。而utf8mb4是utf8的超集,专门用来兼容四字节的unicode字符。在MySQL 5.5.3版本之后,增加了utf8mb4编码,用于兼容四字节的unicode字符。因此,如果需要存储四字节的unicode字符,需要使用utf8mb4编码。
为什么mysql 设置utf8后显示utf8mb3
在 MySQL 中,utf8 是指一个最多使用 3 个字节编码的 Unicode 字符集,它可以支持大多数的字符。但是 MySQL 的 utf8 仅支持 Unicode 的 BMP 平面(也就是基本多文种平面),而不支持较高的 Unicode 超出 BMP 的字符。为了支持这些字符,MySQL 5.5.3 引入了 utf8mb4 字符集,它支持四个字节编码的 Unicode 字符集,可以支持更多的字符。
在 MySQL 5.5.3 之前,MySQL 的 utf8 字符集使用的是最多使用 3 个字节编码的 Unicode 字符集,因此如果要支持四个字节编码的 Unicode 字符集,需要使用 utf8mb4 字符集。但是在 MySQL 5.5.3 之后,为了向下兼容,MySQL 的 utf8 字符集默认仍然使用最多使用 3 个字节编码的 Unicode 字符集,但是可以通过指定字符集为 utf8mb4 来支持四个字节编码的 Unicode 字符集。因此,当使用 utf8 字符集时,实际上使用的是 utf8mb3 字符集,而不是 utf8mb4 字符集。
阅读全文