排序规则命名格式
字符集_[编码|语言][_重音][_大小写敏感][_bin]
utf8mb4 字符集的默认校验规则为: utf8mb4_0900_ai_ci
格式中各部分含义
- 字符集: utf8mb4 、gb2312 等
- 编码:可选,值可能为 0900、unicode 或 unicode_520
- 语言:可选,表示校验规则为特别语言而定制,如 _zh 表示适用于中文,_da 表示适用于丹麦语
- 重音:可选,ai 表示不区分重音,as 表示区分重音
- 大小写敏感:可选, ci 表示不区分大小写,cs 表示区分大小写
- bin: 可选,指字符比较时采用二进制进行比较。 当将字符串视为二进制进行比较时,会将字符串中的每个字符视为一组字节(或比特)的序列,而不考虑字符的语义、语言、大小写或重音符号等特征。在进行二进制比较时,只比较字符的字节表示,而不考虑字符本身的含义。
示例
以 utf8mb4 所有字符集为例
校验规则 | 描述 |
---|---|
utf8mb4_0900_ai_ci | 基于Unicode 9.0.0版本,不区分大小写,适用于多语言环境,提供准确的排序结果。 |
utf8mb4_0900_as_ci | 基于Unicode 9.0.0版本,不区分大小写,适用于多语言环境,提供准确的排序结果。 |
utf8mb4_0900_as_cs | 基于Unicode 9.0.0版本,区分大小写,适用于多语言环境,提供准确的排序结果。 |
utf8mb4_0900_bin | 基于Unicode 9.0.0版本,进行严格的二进制比较和排序,区分大小写和字符编码。 |
utf8mb4_bin | 进行严格的二进制比较和排序,区分大小写和字符编码。 |
utf8mb4_croatian_ci | 不区分大小写,适用于克罗地亚语的比较和排序。 |
utf8mb4_cs_0900_ai_ci | 基于Unicode 9.0.0版本,不区分大小写,适用于捷克语的比较和排序。 |
utf8mb4_cs_0900_as_cs | 基于Unicode 9.0.0版本,区分大小写,适用于捷克语的比较和排序。 |
utf8mb4_czech_ci | 不区分大小写,适用于捷克语的比较和排序。 |