### 10.9.1 utf8mb4 字符集（4 字节 UTF-8 Unicode 编码）

[](<>)

这`utfmb4`字符集具有以下特点：

-   支持 BMP 和补充字符。

-   每个多字节字符最多需要四个字节。

`utf8mb4`与`utf8mb3`字符集，仅支持 BMP 字符，每个字符最多使用三个字节：

-   对于 BMP 字符，`utf8mb4`和`utf8mb3`具有相同的存储特性：相同的代码值、相同的编码、相同的长度。

-   对于一个补充字符，`utf8mb4`需要四个字节来存储它，而`utf8mb3`根本无法存储角色。转换时`utf8mb3`列到`utf8mb4`，您不必担心转换补充字符，因为没有。

`utf8mb4`是一个超集`utf8mb3`，所以对于如下的连接这样的操作，结果是有字符集的`utf8mb4`和校对`utf8mb4_col`：

```
SELECT CONCAT(utf8mb3_col, utf8mb4_col);
```

同样，下面的比较`在哪里`子句根据排序规则工作`utf8mb4_col`：

```
SELECT * FROM utf8mb3_tbl, utf8mb4_tbl
WHERE utf8mb3_tbl.utf8mb3_col = utf8mb4_tbl.utf8mb4_col;
```

有关与多字节字符集相关的数据类型存储的信息，请参阅[字符串类型存储要求](storage-requirements.html#data-types-storage-reqs-strings).
