字符集
概述
GB18030(全称《信息技术中文编码字符集》)是由中国制定的中文编码标准,覆盖七万余汉字及符号,涵盖中日韩汉字、少数民族文字等。该标准完全兼容GB2312(《信息交换用汉字编码字符集》),并向下兼容GBK(《汉字内码扩展规范》)。
GB18030历经三次版本迭代:
- GB18030-2000:初版标准,奠定基础编码框架。
- GB18030-2005:扩展字符集,新增部分CJK统一汉字及特殊符号。
- GB18030-2022:修订Unicode映射规则,调整18个字符的编码对应关系,解决早期版本与Unicode的兼容性问题。
Unicode映射的兼容性挑战:
- GB18030-2005的临时方案:部分字符因Unicode未分配标准码位,临时映射至BMP平面的PUA(Private Use Area,私有使用区)。
- GB18030-2022的改进:随Unicode 5.0引入新码位,18个字符的映射关系被重新定义,导致新旧版本在Unicode兼容性上产生差异。
虚谷数据库的编码支持策略:
- 新增GB18030_2022字符集,严格遵循2022版标准,优化与Unicode的映射逻辑。 - 保留GB18030_2005字符集,确保历史系统的兼容性。虚谷数据库专注于GB18030-2022编码转换与存储,不涉及新字符字形渲染,保障数据运算与跨系统交互的准确性。
使用GB18030_2022字符集
虚谷数据库目前支持库级字符集,创建库时,指定GB18030_2022字符集即可。
SQL
SQL> CREATE DATABASE DB_TEST CHARACTER SET 'GB18030_2022';
SQL> SELECT DB_NAME, CHAR_SET FROM DBA_DATABASES WHERE DB_NAME = 'DB_TEST';
DB_NAME | CHAR_SET |
------------------------------------------------------------------------------
DB_TEST| GB18030_2022|
说明:
GB18030_2022
为虚谷数据库定义字符集名。- 客户端程序(如JDBC连接数据库的程序)在接收数据时应当使用操作系统支持的字符集。