暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片
Oracle数据库多语言入库问题的解决方案.pdf
1967
6页
32次
2021-10-11
5墨值下载
- 1 -
Oracle 数据库多语言入库问题的解决方案
杨毅峰
1
,邹仕洪
1
,林宇
2
,刘苑琦
2
1
北京邮电大学网络与交换技术国家重点实验室,北京 (100876)
2 北京网秦天下科技有限公司,北京 (100013)
E-mailwilsonandjoker@sina.com
要:本文通过研究 Oracle 数据库如何成功实现多语言入库,给出了一种实现多国语言信
息存储的基本方法,该方法解决了非中文语言入库时出现的乱码问题。随着企业在发展过程
中业务的国际化,业务信息的存储也从单一的本国语言发展成多国语言共存的局面。Oracle
数据库作为国际化的数据库平台展现出了强大的全球化技术优势。在使用 Oracle 存储多国
语言信息的过程中难免遇到由于字符集的不兼容而导致无法正确存储数据的问题,例如泰
文、韩文、阿拉伯文等在默认字符集为 ZHS16GBK国家字符集为 AL16UTF16 的数据库的
入库需要特殊的方法。
关键词:ORACLE9I泰文入库多国语言存储数据库乱码
中图分类号:TP311
1.
2009 年根据 IDC 报告显示 Oracle 在软件市场上位居第三,其数据库在全球中的影响以
及使用都是十分广泛的,其全球化的基础是 Oracle 数据库字符集,即 Oracle 全球化支持
(Globalization Support)Oracle 可以支持多种语言及字符集,Oracle9i 支持 57 种语言、88
国家地域、235 种字符集
[1]
。由 Oracle 字符集种类多,且在存储、检索、迁移 Oracle 数据
时多个环节与字符集的设置密切相关,而且由于业务的国际化,需要多种语言共存,在实际
的应用中,数据库开发和管理人员经常会遇到有关 Oracle 字符集方面的问题。
笔者通过对网上资源的搜索,有的文章或者博客中给出了建议,但是并没有发现有小语
种语言入库的良好解决方案。经过笔者的研究和实践,终于解决一个实际的问题——泰语等
入库。该方案通过使用 Oracle sqlloader 方法,通过具体的环境设置成功实现了多国语言
入库。
2. 字符集
字符(Character)是文字与符号的总称,包括文字、图形符号、数学符号等。一组抽象字
符的集合就是字符集(Charset)。字符集(也称字元集,Character Set)就是字符编码表
(codepage)一个字符不论英文、中文、韩文、泰文、日文等任何语言,他们在计算机系统
内存或硬盘中通过二进制的字节Byte保存,这个二进制的编码就是字符编码(也称内码)
字符集就是字符与内码的对应(映射)表
[2]
各个国家语言的差异,使得字符集本国化。使用最广泛的 ASCII 编码,由美国国家标
准局( ANSI)制定,适用于所有拉丁、英文字符。中国大陆使用 GB2312,GBK,GB18030
字符集,这些字符集包含所有汉字字符的内码,其中 GBK,GB18030 称为大字符集,对繁体
中文也进行了编码。香港、台湾、澳门地区使用 Big5 编码,Big5 收录了繁体中文(有些繁
体与中国大陆繁体字符有差异)的编码,不包含简体中文的字符编码。泰文使用 ISO 8859-1
的字符集
[3]
其他如日文、俄文等都有自己国家制定的字符集,用来保证计算机系统能正确
中国科技论文在线
- 2 -
显示本国的语言文字。不同语言的字符集不具有通用性,ASCII 字符集没有制定中文字符的
编码,GB2312 没有制定泰文字符的编码,Big5 没有制定简体中文字符的编码,针对这种不
兼容性,官方发布了 Unicode(进一步优化的 UTF7,UTF8,UTF16 等)字符集,对每一种语
言的每个字符制定了统一且唯一的内码,满足跨语言、跨平台的字符解码和转换处理。
3. Oracle 字符集
由于不同国家语言的编码不一致,因此 Oracle 数据库内提供对两种字符集的支持——
默认字符集和国家字符集。其中,默认字符集提供了对 CHARVARCHARVARCHAR2
CLOB 等的支持,比如;而国家字符集在提供了对 NCHARNVARCHARNVARCHAR2
NCLOB 等的支持。
本文使用的数据库中,默认字符集为 ZHS16GBK国家字符集为 AL16UTF16也就是
说对于所有定义为 CHARVARCHARVARCHAR2CLOB 等默认类型的字段,字符集
ZHS16GBK,对于定义为 NCHARNVARCHARNVARCHAR2NCLOB 等类型的字
段,字符集为 AL16UTF16
Oracle 字符集包括两部分。一部分是 Server 端数据库运行实例(instance)的字符集,
一部分是 Oracle 客户端 Client 的字符集。
3.1 Server 端字符集
1 oracle 服务端安装 字符集配置截图
安装 Oracle 数据库过程中,需要选择数据库字符集。默认的是 OS 系统的字符集,简体
中文系统是 GB2312,繁体系统是 BIG5Oracle 对于简体系统的字符集使用 ZHS16GBK
[4]
此外,选择 Unicode 作为数据库字符集,所有存储数据都将以 Unicode 编码存储在数据库中,
不论字段类型是 NumberVarchar2DateTime 等或者也可以从字符集列表中选择其他字符
集。国家字符集的选择只有 UnicodeAL32UTF8这是为了存储 ZHS16GBK 字符集不能
识别的其他国家的字符的时候用到的。
中国科技论文在线
of 6
5墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜