Documentation Home

10.10.7.2 gb18030 字符集

在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 排序规则。如果您需要确保正确排序连字,请使用此归类。