首页 > 编程笔记 > MySQL笔记 阅读:1

MySQL查看字符集(附带实例)

MySQL 8.0 以前的版本中,默认字符集为 latin1。开发人员在进行数据库设计的时候,往往会将默认字符集修改为 utf8,这时 utf8 指向的是 utf8mb3。如果开发人员忘记修改默认字符集,就会出现乱码问题。

从 MySQL 8.0 开始,默认字符集改为 utf8mb4,从而避免了乱码问题。

使用如下 SQL 语句查看 MySQL 8.0 中的字符集:
mysql> SHOW CHARACTER SET;
+----------+----------------------+--------------------+--------+
| Charset  | Description          | Default collation  | Maxlen |
+----------+----------------------+--------------------+--------+
| latin1   | cp1252 West European | latin1_swedish_ci  |      1 |
| ucs2     | UCS-2 Unicode        | ucs2_general_ci    |      2 |
| utf8     | UTF-8 Unicode        | utf8mb3_general_ci |      3 |
| utf8mb4  | UTF-8 Unicode        | utf8mb4_0900_ai_ci |      4 |
+----------+----------------------+--------------------+--------+

也可以在上述 SQL 语句中加入 WHERE 或 LIKE 条件。例如,要查看与“utf”相关的字符集,则可以使用如下 SQL 语句:
+----------+----------------------+--------------------+--------+
| Charset  | Description          | Default collation  | Maxlen |
+----------+----------------------+--------------------+--------+
| utf16    | UTF-16 Unicode       | utf16_general_ci   |      4 |
| utf16le  | UTF-16LE Unicode     | utf16le_general_ci |      4 |
| utf32    | UTF-32 Unicode       | utf32_general_ci   |      4 |
| utf8     | UTF-8 Unicode        | utf8mb3_general_ci |      3 |
| utf8mb4  | UTF-8 Unicode        | utf8mb4_0900_ai_ci |      4 |
+----------+----------------------+--------------------+--------+
MySQL 中常用的字符集是 utf8。从上述结果中可以看到,utf8 字符集有两个,分别是 utf8 和 utf8mb4。其中,utf8 字符集中的一个字符最多需要使用 3 字节表示,utf8mb4字 符集中的一个字符最多需要使用 4 字节表示。

在 MySQL 中,utf8 是 utf8mb3 的别名,因此,后面提到 utf8 就意味着一个字符最多需要使用 3 字节表示。

在一般情况下,使用 utf8 字符集就足够了,但是部分特殊字符需要使用 4 字节才能表示,这时候就需要使用 utf8mb4 字符集。我们可以把 utf8mb4 理解为 utf8 的超集。

相关文章