Tuxedo技术白皮书

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

OracleTuxedo全球化特性:针对亚太地区的多字节支持Oracle白皮书2008年6月更新OracleTuxedo全球化特性:针对亚太地区的多字节支持第2页OracleTuxedo全球化特性:针对亚太地区的多字节支持引言...........................................................................................3ORACLETUXEDO的全球化增强功能.....................................3软件全球化前景.........................................................................4国际化和本地化..................................................................4代码集和编码......................................................................5多字节编码转换:过去和现在.............................................5典型的转换案例..................................................................6ORACLETUXEDO多字节转换功能.........................................6管理编码转换......................................................................6客户端的处理......................................................................7服务器端的处理..................................................................9自定义..............................................................................11编码别名...........................................................................11通过字段控制语言缓冲区处理多字节数据................................12结论.........................................................................................12附录1:与多字节数据相关的API..........................................13附录2:软件示例...................................................................14多字节数据转换示例.........................................................14客户端应用程序.........................................................14服务器端应用程序......................................................17使用FLD_MBSTRING....................................................19客户端应用程序.........................................................20服务器端应用程序......................................................22自定义转换函数................................................................24OracleTuxedo全球化特性:针对亚太地区的多字节支持第3页OracleTuxedo全球化特性:针对亚太地区的多字节支持国际化和本地化是OracleTuxedo系统不可或缺的组件。对于亚太地区,该软件完全支持多字节字符代码集处理,使开发人员能够创建无语言限制的解决方案。引言国际化和本地化是OracleTuxedo系统不可或缺的组件。对于亚太地区,该软件完全支持多字节字符代码集处理,使开发人员能够创建无语言限制的解决方案。因为无需自定义软件就可实现国际化,因此OracleTuxedo使企业可以轻松地将多语言的应用程序扩展到员工和合作伙伴。本白皮将向您介绍OracleTuxedo的全球化特性,并通过示例详解其功能。ORACLETUXEDO的全球化增强功能OracleTuxedo提供了下列国际化增强功能:z支持针对用户数据的多字节字符类型化缓冲区z能够按需使用API实现编程转换,或在汉语、日语和韩语代码集编码之间进行自动转换z能够“获取”和“设置”代码集编码信息及启用和禁用自动转换功能(不论是通过编程方式还是管理方式)z支持轻松地将转换库更换为自定义转换功能这些特定的增强功能应用了多种系统功能,包括称为MBSTRING的类型化缓冲区、称为FLD_MBSTRING的字段类型及多字节字符传输和转换API。通过OracleTuxedo,编程人员既可使用环境变量TPMBENC和TPMBACONV以管理方式管理编码转换,又可使用新的API函数以编程方式管理编码转换。能够以编程方式启用和禁用自动转换功能,以使应用程序可以将转换限制为仅当需要时才进行,这样就能很好地控制与转换相关的性能。OracleTuxedo全球化特性:针对亚太地区的多字节支持第4页如果OracleTuxedo系统配置为自动代码集编码转换,则MBSTRING缓冲区(或FML32缓冲区中的FLD_MBSTRING字段)在运行于不同计算机平台上的进程间进行传输时,底层系统会从某个代码集编码转换为另一种代码集编码。具体来说,接收方会自动将MBSTRING缓冲区从发送方的代码集编码表示转换为接收方的代码集编码。如果没有通过环境变量TPMBENC和TPMBACONV手动配置自动代码集转换,则发送或接收应用程序可使用转换API按情况逐个请求代码集编码转换(有关详情,请参阅附录1)。使用GNUiconv转换库可以跨UNIX和Windows平台提供常用的代码集转换功能。使用OracleTuxedo类型化缓冲区,可以轻松地将转换库替换为自定义功能,例如,测试或性能优化。软件全球化前景设计和开发的大多数软件产品(如操作系统、资料库及开发工具等)都适合于国际化环境,即具有不同语言、文化和表现要求的环境。例如,一家总部在东京、分部在纽约和首尔的大型公司可能需要组合英语、日语和韩语软件环境。此外,这些国际分布式计算环境还必须支持随地点而变的时间、数值、日期、货币格式、消息表示和代码集编码模式。当事务涉及到全球多个地点时,这些环境必须自发地支持所有这些要求(无需重启应用程序)。满足这些要求的软件就称为全球化软件。国际化使软件可在使用不同语言和习俗的地区之间通用。本地化使得国际化程序的特定版本可在某个地理或政治区域内使用。国际化和本地化通过解决国际化和本地化要求,就可实现软件全球化。国际化使软件可在使用不同语言和习俗的地区之间通用。要创建国际化软件,开发人员需隔离程序中依赖语言和文化的那部分。例如,分离出错误消息,以便将其翻译成用户所需的区域语言。区域是指共享同一种口语和相同习俗的地理或政治地区。国际化程序的设计或改写都是为了便于在系统初始化期间选择针对所在区域的组件。本地化是指为针对所在区域的组件创建特定区域版本,或程序包的过程。本地化包括文本翻译,如用户界面上的标签、错误消息和在线帮助等。还包括数据项目的特定文化格式,如时间、货币值、日期和数字等。Oracle开发本地化程序包,以供需要的客户使用。OracleTuxedo全球化特性:针对亚太地区的多字节支持第5页代码集和编码字符集是一组元素,这些元素代表了给定语言的文本。英文字母是一种字符集。字符间可能隐含某种次序关系,但字符没有被赋予特定的值。例如,您可能会习惯性地从a、b、c开始背诵英文字母,一直背到x、y、z。虽然存在这种隐含的顺序,但字符间并没有数字关系暗示这种顺序。代码集提供了这样一种数字关系,为计算机程序提供了用于操作字符集的机制。代码集也称为编码字符集,它基于计算机将字符映射到唯一的非负整数。代码集的唯一二进制值的映射称为该代码集的编码。在美国,ASCII和Unicode就是二个代码集,代表了大多数电脑键盘上的字符集。ASCII也是一种编码。对某个特定的代码集可以有多种编码。例如,在日本,计算机供应商支持至少三种Kanji(一种日语代码集)编码:EUC-JP、Shift-JIS(SJIS)和ISO-2022-JP。大多数UNIX供应商支持EUC-JP,一些供应商还支持SJIS。Windows、OS/2和Macintosh支持SJIS。在韩国,广泛使用KSC5601编码,而在中国,使用GBK。Java支持内部Unicode和其自带的许多外文编码。OracleTuxedo支持多字节代码集处理功能。虽然标准英语可按8位(单字节)代码集编码模式处理,但汉语、日语和韩语需要多字节代码集编码模式。多字节编码转换:过去和现在欧洲语言(含标准英语)的字母,可按8位(单字节)代码集编码模式处理。然而,汉语、日语和韩语使用了大量的符号(或象形文字),需要多字节代码集编码模式。OracleTuxedo采用了多字节代码处理支持这些亚太地区的字符集。在未推出OracleTuxedo之前,应用程序开发人员必须创建自定义转换解决方案来获得全球化特性。然而,自定义转换只能处理非常具体的用例。例如,某个自定义解决方案可以处理SJIS到EUC-JP的转换,但却不能处理SJIS和ISO-2022-JP之间的转换。拥有OracleTuxedo,您无需再开发这些类型的自定义转换。重要的是要记住,OracleTuxedo的代码集转换功能旨在针对代码集实现不同编码间的转换(例如,Unicode代码集的UTF-8和UTF-16BE编码间的转换)。它不是代码集间的转换(例如ASCII和Unicode间的转换)或语言间的转换,而是同一语言不同编码间的转换。典型的转换案例一个十分常见的多字节转换案例涉及运行在不同平台(例如,客户端/服务器系统)上的不同Kanji编码模式。如果客户端和服务器托管在使用不同编码模式的平台上,则必须执行平台间的编码转换。图1示例了日本的一个分布式计算环境。本例中,客户端驻留在支持SJIS的Windows计算机上。OracleTuxedo服务器计算机基于UNIX平台,并支持EUC-JP。图1:一个典型的分布式计算环境ORACLETUXEDO多字节转换功能在上述示例中,多字节字符应用程序数据通过称为MBSTRING的类型化缓冲区在Windows客户端和OracleTuxedo服务器进程间传输。与此类型化缓冲区关联的一组API函数确定了代码集编码名称,并使用GNUiconv库执行多字节数据转换。OracleTuxedo开发人员通过向类型化缓冲区开关结构(tm_typesw)添加新的条目,实施MBSTRING缓冲区。这允许OracleTuxedo确定针对各个类型化缓冲区应调用哪些例程。对于MBSTRING缓冲区,系统调用内部函数_mbsconv()执行自动代码集多字节数据转换。然后这一内部函数使用GNU库例程转换用户数据。转换自然会降低性能。为了防止编码转换

1 / 28
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功