1、字符集
-
utf8mb4:UTF-8 的变种,最常用的字符集之一,支持包括 Emoji 表情在内的大部分 Unicode 字符。
-
utf8:也是 UTF-8 的变种,但只支持 Unicode 字符集中的基本多语言平面(BMP)字符,不支持一些特殊字符,如 Emoji。
-
latin1:也被称为 ISO 8859-1,西欧字符集,包括常用的拉丁字母、数字和标点符号。
-
gbk:简体中文字符集,兼容 GB2312 和 GBK 编码,支持汉字和一些日韩文字符。
-
utf16:UTF-16 编码,使用双字节来编码 Unicode 字符,可以支持更广泛的 Unicode 字符集。
-
utf32:UTF-32 编码,使用固定的 4 字节来编码所有 Unicode 字符,包括辅助平面字符。
通常情况下,一般推荐使用 utf8mb4 字符集,因为它广泛支持大部分 Unicode 字符,并且适用于多种语言环境。utf8mb4 是 MySQL 5.5.3 版本及以上的默认字符集,它可以满足大多数应用的需求。
2、排序说明
-
utf8mb4_general_ci:utf8mb4 字符集的默认排序规则,不区分大小写,对各种语言的排序都较为准确。
-
utf8mb4_unicode_ci:基于 Unicode 标准的排序规则,不区分大小写,可以正确地排序各种语言和特殊字符。
-
utf8_general_ci:utf8 字符集的默认排序规则,不区分大小写,对一些语言排序效果较好,但对一些特殊字符的排序可能不准确。
-
utf8_unicode_ci:基于 Unicode 标准的排序规则,不区分大小写,适用于各种语言和特殊字符。
-
latin1_swedish_ci:latin1 字符集的默认排序规则,不区分大小写,适用于西欧语言。
-
latin1_general_ci:latin1 字符集的通用排序规则,不区分大小写,也可用于西欧语言。
-
binary:二进制排序规则,区分大小写,按照字符的二进制值进行排序。
如果应用需要正确地排序各种语言、特殊字符或者多语言混合的数据。一般推荐使用 utf8mb4_general_ci或 utf8mb4_unicode_ci 排序规则,能够满足大部分排序需求。