随着全球化的不断推进,软件产品需要适应不同国家和地区的语言和字符集标准。Oracle 数据最新版本 Oracle 23ai 在支持中文字符集方面快人一步,引入了对 GB18030-2022 标准的全面支持,并达到了实现级别三级。
GB18030-2022 新国标
GB18030 全称《信息技术 中文编码字符集》,是我国信息技术领域的强制性国家标准之一,当前执行标准为 GB 18030-2022,于 2023 年 8 月1 日正式实施。
GB18030 对汉字友好,对 GB/T 2312 完全兼容,对 GBK (已废止) 完全兼容,兼容所有 Unicode 字符。
更多介绍参加:一文带你了解 GB 18030-2022 字符集
Oracle 对 GB18030-2022 的支持
在数据库 Oracle 23ai 通过更新其客户端字符集 ZHS32GB18030,实现了对新国标 GB18030-2022 的全面支持。
对于 Oracle 19c 需要应用补丁来支持新版字符集,详细内容参考 (Doc ID 2934347.1)
Oracle 国际化
这里介绍几个相关知识点。
通过查询 V$NLS_VALID_VALUES
视图,我们可以查看所有有效的 NLS 参数值。
以下是相关示例。
查询简体中文的字符集:
Connected to:
Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
Version 23.4.0.24.05
SQL> SELECT VALUE,ISDEPRECATED
FROM V$NLS_VALID_VALUES
WHERE PARAMETER = 'CHARACTERSET' AND VALUE LIKE '%ZHS%'
ORDER BY 2, 1 DESC;
VALUE ISDEPRECATED
______________________ _______________
ZHS32GB18030 FALSE
ZHS16MACCGB231280 FALSE
ZHS16GBK FALSE
ZHS16DBCS FALSE
ZHS16CGB231280 FALSE
ZHS16GBKFIXED TRUE
ZHS16DBCSFIXED TRUE
ZHS16CGB231280FIXED TRUE
8 rows selected.
查询结果显示,ZHS32GB18030 字符集的状态为 FALSE,表示其处于启用状态。
查看简体中文的排序方式。
SELECT VALUE,ISDEPRECATED
FROM V$NLS_VALID_VALUES
WHERE PARAMETER = 'SORT' AND VALUE LIKE 'SCHIN%';
VALUE ISDEPRECATED
_____________________ _______________
SCHINESE_PINYIN_M FALSE
SCHINESE_STROKE_M FALSE
SCHINESE_RADICAL_M FALSE
SCHINESE_PINYIN_M 表示按拼音排序,SCHINESE_STROKE_M 表示按笔画排序,SCHINESE_RADICAL_M 表示按偏旁部首排序。
总结
Oracle 23ai 支持 GB18030-2022 字符集这一新特性,能够更好地满足中国用户需求,扩展在中国市场应用范围,更提升了其在全球市场中的竞争力和领先地位。
🌻 往期精彩 ▼
- [Oracle]
- Oracle 数据库全面升级为 23ai
- python-oracledb 已率先支持 Oracle 23ai
- 一文带你了解 Oracle 23ai 新特性 Vector 的基础用法
- [MySQL]
- MySQL 9.0 的 VECTOR 文档更新
- MySQL 9.0.0 新鲜出炉!支持向量类型
- 「合集」MySQL 8.x 系列文章汇总
- 如何选择适合的 MySQL Connector/J 版本
- [TiDB]
- 星辰考古:TiDB v4.0 进化前夜
- 国产基础软件“出海”标杆炼成记
- 敢于公布BUG的国产数据库才是好数据库
- [PG]
- [RL9] Rocky Linux 9.4 搭载 PG 16.1
- 即将告别PG 12,建议升级到PG 16.3版本
- 后 EL 7 时代,PG 16 如何在 CentOS 7 上运行
– / END / –
👉 这里可以找到我
- 微信公众号:少安事务所
- 墨天轮:严少安
- PGFans: 严少安
- ITPUB:少安事务所
- TiDB 专栏:@ShawnYan
如果这篇文章为你带来了灵感或启发,就请帮忙点『赞』or『在看』or『转发』吧,感谢!ღ( ´・ᴗ・` )~