本篇我们介绍一下 MySQL 中的字符集(Character Set)和排序规则(Collation),它们决定了系统支持的字符数据以及它们的存储方式、不同字符比较和排序的结果。
28.1 字符集
我们可以为 MySQL 服务器、数据库、表、字符类型的字段以及字符串常量指定一个字符集(Character Set)和排序规则(Collation)。其中,字符集决定了能够存储哪些字符,比如 ASCII 字符集只能存储简单的英文、数字和一些控制字符;GB2312 字符集可以存储中文;Unicode 字符集能够支持世界上的各种语言。排序规则定义了字符集中字符的排序和比较顺序,包括是否区分大小写,是否区分重音等。
MySQL 为不同的环境提供了多种字符集支持,可以使用SHOW CHARACTER SET
命令查看系统支持的所有字符集。例如:
SHOW CHARACTER SET;
Charset |Description |