查看mysql支持的字符集:
mysql> SHOW CHARACTER SET;
+----------+---------------------------------+---------------------+--------+
| Charset | Description | Default collation | Maxlen |
+----------+---------------------------------+---------------------+--------+
| big5 | Big5 Traditional Chinese | big5_chinese_ci | 2 |
...
| latin1 | cp1252 West European | latin1_swedish_ci | 1 |
| latin2 | ISO 8859-2 Central European | latin2_general_ci | 1 |
...
| utf8 | UTF-8 Unicode | utf8_general_ci | 3 |
| ucs2 | UCS-2 Unicode | ucs2_general_ci | 2 |
...
| utf8mb4 | UTF-8 Unicode | utf8mb4_general_ci | 4 |
...
| binary | Binary pseudo charset | binary | 1 |
...
,查看字符集支持的排序规则:
mysql> SHOW COLLATION WHERE Charset = 'latin1';
+-------------------+---------+----+---------+----------+---------+
| Collation | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1 | 5 | | Yes | 1 |
| latin1_swedish_ci | latin1 | 8 | Yes | Yes | 1 |
| latin1_danish_ci | latin1 | 15 | | Yes | 1 |
| latin1_german2_ci | latin1 | 31 | | Yes | 2 |
| latin1_bin | latin1 | 47 | | Yes | 1 |
| latin1_general_ci | latin1 | 48 | | Yes | 1 |
| latin1_general_cs | latin1 | 49 | | Yes | 1 |
| latin1_spanish_ci | latin1 | 94 | | Yes | 1 |
+-------------------+---------+----+---------+----------+---------+
ASCII
:包含Unicode 码中U+0000
to U+007F
范围的字符
UNICODE
:包含Unicode码中U+0000
to U+10FFFF
范围的字符
可以看出,ASCII
是UNICODE
的子集。
排序规则大小写敏感后缀
后缀 | 备注 |
---|---|
_ai | 重音不敏感 |
_as | 重音敏感 |
_ci | 大小写不敏感 |
_cs | 大小写敏感 |
_bin | 二进制 |
_ci
暗含_ai
,_cs
暗含_as
。
对于二进制字符集的二进制排序规则,是基于字节值比较;对于非二进制字符集的_bin
排序规则,比较是基于字符的数字之,这和多字节字符的字节值不一样。