在MySQL中,gb18030
字符集对应的是《中国国家标准GB 18030-2005:信息技术——中文编码字符集》,是中华人民共和国(PRC)的官方字符集。
MySQL gb18030字符集的特点
支持GB 18030-2005标准定义的所有码位。(GB+8431A439、GB+90308130) 和 (GB+E3329A36、GB+EF39EF39) 范围内的未分配代码点被视为 '
?
' (0x3F)。未分配代码点的转换返回 '?
'。支持所有 GB18030 代码点的 UPPER 和 LOWER 转换。还支持 Unicode 定义的大小写折叠(基于
CaseFolding-6.3.0.txt
)。支持数据与其他字符集之间的转换。
支持 SQL 语句,例如
SET NAMES
.支持
gb18030
字符串之间gb18030
、字符串与其他字符集字符串之间的比较。如果字符串具有不同的字符集,则会进行转换。还支持包含或忽略尾随空格的比较。Unicode 中的专用区(U+E000,U+F8FF)映射到
gb18030
.(U+D800, U+DFFF)和GB18030之间没有映射关系。尝试转换此范围内的代码点会返回“
?
”。如果传入序列是非法的,则返回错误或警告。如果在 中使用了非法序列
CONVERT()
,则返回错误。否则,返回警告。utf8mb3
为了与and 保持一致,utf8mb4
连字不支持 UPPER。gb18030_unicode_520_ci
使用归类 时,连字搜索也会匹配大写连字。如果一个字符有多个大写字符,则所选大写字符是其小写字符本身的字符。
最小多字节长度为 1,最大为 4。字符集使用前 1 或 2 个字节确定序列的长度。
支持的归类
gb18030_bin
: 二进制排序规则。gb18030_chinese_ci
: 默认排序规则,支持拼音。非汉字的排序是按照原排序键的顺序进行的。原始排序键GB(UPPER(ch))
是否UPPER(ch)
存在。否则,原始排序键为GB(ch)
。汉字根据 Unicode Common Locale Data Repository (CLDR 24) 中定义的拼音排序规则排序。非中文字符排在中文字符之前GB+FE39FE39
,但代码点最大值除外。gb18030_unicode_520_ci
: Unicode 排序规则。如果您需要确保正确排序连字,请使用此归类。