“Utf8mb4 和 utf8 啥区别?”的版本间的差异

来自姬鸿昌的知识库
跳到导航 跳到搜索
(建立内容为“utf8mb4 是一种扩展的 UTF-8 编码,它比普通的 UTF8 编码支持更多的字符。 utfmb4 可以支持包含 emoji 字符的字符集,而 UTF8 却…”的新页面)
 
第1行: 第1行:
utf8mb4 是一种扩展的 UTF-8 编码,它比普通的 UTF8 编码支持更多的字符。
+
https://dev.mysql.com/doc/refman/8.0/en/charset-unicode-utf8.html
  
utfmb4 可以支持包含 emoji 字符的字符集,而 UTF8 却不能支持这样的字符集。
+
https://dev.mysql.com/doc/refman/8.0/en/charset-unicode-utf8mb4.html
  
因此,如果你需要存储更丰富的字符集,那么使用 utf8mb4 编码将会是一个更好的选择,可以确保你存储的数据不会被截断或者丢失。
+
 
 +
utf8mb4 是指 4字节 UTF-8 Unicode 编码
 +
 
 +
* 支持 BMP 和增补字符
 +
* 每个多字节字符最多需要四个字节
 +
 
 +
 
 +
utf8mb4 和 utf8mb3 比较起来,utf8mb3 只支持 BMP 字符,并且 utf8mb3 每个字符最多使用 3 个字节:
 +
 
 +
* 对于 BMP 字符,utf8mb4 和 utf8mb3 具有相同的存储特性:相同的代码值、相同的编码、相同的长度。
 +
 
 +
* 对于增补字符,utf8mb4 需要四个字节来存储它,而 utf8mb3 则根本无法存储该字符。 将 utf8mb3 列转换为 utf8mb4 时,您不必担心转换增补字符,因为没有增补字符。
 +
 
 +
 
 +
 
 +
 
 +
utf8 就是指 utf8mb3,3字节 UTF-8 Unicode 编码
 +
 
 +
utf8 一直被 MySQL 作为 utf8mb3 字符集编码的别名,但这种用法正在被逐步淘汰;
 +
 
 +
从 MySQL 8.0.28 开始,SHOW 语句和信息模式表的列显示 utf8mb3。
 +
 
 +
 
 +
 
 +
未来 utf8mb3 会被移除,utf8 就变成专指 utf8mb4 了

2023年2月11日 (六) 11:31的版本

https://dev.mysql.com/doc/refman/8.0/en/charset-unicode-utf8.html

https://dev.mysql.com/doc/refman/8.0/en/charset-unicode-utf8mb4.html


utf8mb4 是指 4字节 UTF-8 Unicode 编码

  • 支持 BMP 和增补字符
  • 每个多字节字符最多需要四个字节


utf8mb4 和 utf8mb3 比较起来,utf8mb3 只支持 BMP 字符,并且 utf8mb3 每个字符最多使用 3 个字节:

  • 对于 BMP 字符,utf8mb4 和 utf8mb3 具有相同的存储特性:相同的代码值、相同的编码、相同的长度。
  • 对于增补字符,utf8mb4 需要四个字节来存储它,而 utf8mb3 则根本无法存储该字符。 将 utf8mb3 列转换为 utf8mb4 时,您不必担心转换增补字符,因为没有增补字符。



utf8 就是指 utf8mb3,3字节 UTF-8 Unicode 编码

utf8 一直被 MySQL 作为 utf8mb3 字符集编码的别名,但这种用法正在被逐步淘汰;

从 MySQL 8.0.28 开始,SHOW 语句和信息模式表的列显示 utf8mb3。


未来 utf8mb3 会被移除,utf8 就变成专指 utf8mb4 了