## 10.3 指定字符集和排序规则

[10.3.1 排序规则命名约定](charset-collation-names.html)
[10.3.2 服务器字符集和排序规则](charset-server.html)
[10.3.3 数据库字符集和排序规则](charset-database.html)
[10.3.4 表格字符集和排序规则](charset-table.html)
[10.3.5 列字符集和排序规则](charset-column.html)
[10.3.6 字符串文字字符集和排序规则](charset-literal.html)
[10.3.7 国家字符集](charset-national.html)
[10.3.8 字符集介绍器](charset-introducer.html)
[10.3.9 字符集和排序规则分配示例](charset-examples.html)
[10.3.10 与其他 DBMS 的兼容性](charset-compatibility.html)

字符集和排序规则有四个级别的默认设置：服务器、数据库、表和列。以下部分的描述可能看起来很复杂，但在实践中发现，多级默认会导致自然而明显的结果。

`字符集`用于指定字符集的子句。`字符集`可以用作同义词`字符集`.

字符集问题不仅影响数据存储，还影响客户端程序和 MySQL 服务器之间的通信。如果您希望客户端程序使用不同于默认字符集的字符集与服务器通信，则需要指明是哪一个。例如，要使用`utf8mb4`Unicode 字符集，连接服务器后发出此语句：

```
SET NAMES 'utf8mb4';
```

有关客户端/服务器通信中字符集相关问题的更多信息，请参阅[第 10.4 节，“连接字符集和排序规则”](charset-connection.html).
