uft8和utf8mb4的区别

文章目录

  • 1、Unicode字符集
  • 2、UTF-8 编码
  • 3、utf8mb3 字符集
  • 4、utf8mb4 字符集
  • 5、utf8mb3和utf8mb4的区别

1、Unicode字符集

Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求

2、UTF-8 编码

UTF-8是Unicode的实现方式之一
UTF指的是:Unicode Transfer Format,即Unicode传输编码。
UTF-8是一种变长的编码方法,字符长度从1个字节到4个字节不等

一个utf8数字占1个字节
一个utf8英文字母占1个字节
少数是汉字每个占用3个字节,多数占用4个字节

3、utf8mb3 字符集

utf8mb3 :阉割过的 utf8 字符集,只使用1~3个字节表示字符

在当前主流版本的MySQL / MariaDB中,使用utf8作为字符集时,默认表示的是utf8mb3。

4、utf8mb4 字符集

MySQL在5.5.3版本之后增加了一个utf8mb4的编码

utf8mb4 :正宗的 utf8 字符集,使用1~4个字节表示字符

5、utf8mb3和utf8mb4的区别

关于utf8mb3和utf8mb4,其主要区别在于:most bytes 3和most bytes 4,
即最多使用3 / 4个字节来表示1个字符,所以,当使用utf8mb4时,
可以表示更多字符,例如生僻汉字、冷门符号、emoji表情符号等。
在使用MySQL / MariaDB时,所有SQL语句中涉及的字符集都明确的使用utf8mb4,尽量不要使用utf8。

你可能感兴趣的:(MySQL,mysql)