informix支持中文问题汇总


informix支持中文问题汇总

Online在5版本时可以存储任何字符串,包括所有中文字符串与英文字符串,不加任何限制,不需安装其它附加产品,不必设置其它环境变量。

Online 在7.2版以前遵从X/Open的NLS(Native Language Support)的标准支持中文(XPG3 规范),不必安装附加语言支持产品。这是一种单字节的支持方式,前提是操作系统也要支持NLS,换句话说,Online是基于操作系统支持中文的。一般设 置操作系统环境变量LANG之后,重新启动Online后,原来的数据库即可处理中文,有时也要设DBNLS环境变量。不同的操作系统的LANG的设置方 法一般不同,下面列出HP和SCO上的设法:
SCO UNIX:export LANG = english_us.8859
HP-UX: export LANG = en_US.iso88591

ONLINE 在7.2以上版本采用GLS(Global Language Support)的方式支持中文,GLS是基于 X/Open的XPG4规范之上开发的,这是一种多字节的全球语言支持方式。在安装完Online之后,必须正确安装Informix - Language Supplement ZHCN产品,并设置适当的环境变量,然后启动 ONLINE,重新建立数据库,才可处理汉字。方法如下:
1)按照INFORMIX产品安装方法,最后安装Informix Language Supplement ZHCN。
2)一般设置下面三个环境变量:
export DB_LOCALE=zh_CN.gb
export CLIENT_LOCALE=zh_CN.gb
export SERVER_LOCALE=zh_CN.gb
除了这三个环境变量之外,DBLANG=en_us.8859-1可以指定Informix产品内部使用英文。
3)正常启动ONLINE。
4)重新建立数据库

本技术说明使用的术语和首字母缩略词包括:

GLS
全球语言支持(Global Language Support)。
语言环境(Locale)
语言、地域和代码集
本地化(Localize)
使软件用于特定的语言环境
国际化(Internationalize)
使软件用于任何语言环境
UDR
用户定义的例程
简介

国际化的用户定义的例程(UDR)无需修改和重新编译源代码即可支持不同的语言和文化约定。

Informix GLS 库是一个 API,它让 UDR 处理单字节和多字节字符并管理日期、时间和数值的不同数据格式。 GLS 函数可以在运行时访问特定于语言环境的信息,因而 UDR 无需知道客户机的语言环境,就可以让客户机采取正确的行为。
本技术说明突出说明了实现国际化的 UDR 时要考虑的问题,并指出了您可能要为特定语言额外提供的支持。
GLS 概述与定义
全 球语言支持(Global Language Support (GLS))是允许 Informix 产品、单个应用程序或 UDR 支持多种语言的 Informix 特性。本节概述了一些重 要术语。
GLS 语言环境
对应于语言、地域和代码集:
语言(language)指定可以使用的字符种类、如何对字符进行排序和比较、字母大小写转换和消息。
地域(territory)确定日期、时间、货币和数字的格式。
代码集(code set)包括单字节和多字节字符串处理,以及同一字符在客户机和服务器上不同表示法之间的代码集转换。

缺省的 Informix 语言环境如下:
en_us.8859-1 UNIX 8859-1 是 ISO8859-1 代码集。
en_us.1252 Windows 1252 是 Microsoft 代码集。

ISO8859-1 代码集有另外一些形式。0333 是其精简形式,而 IBM 又将 ISO8859-1 注册为 CCSID 819。因此以下三种语言环境指的是同一代码集:
en_us.8859-1
en_us.0333
en_us.819
Informix 使用以下环境变量来指定语言环境:
CLIENT_LOCALE 客户机应用程序使用的语言环境。
DB_LOCALE 数据库中数据的语言环境。
SERVER_LOCALE 数据库服务器用于其特定于服务器的文件的语言环境。
国际化
指的是实现产品(如 DataBlade 模块),以便它们与语言无关。国际化的 UDR 无需更改或重新编译源代码即可支持不同语言、地域和代码集。
Informix 服务器是国际化的产品。Informix GLS 库提供了一些函数,以使 DataBlade 模块和客户机应用程序能使用 GLS 语言环境中的信息来:
处理单字节和多字节字符
格式化日期、时间和数值数据
本地化
指的是在运行时解析特定语言环境的信息,以使国际化的产品针对该语言环境正确执行;例如,本地化的应用程序使用户能看到用他们自己的语言显示的错误消息和用他们期望的格式显示的日期。

对 特定语言环境的支持集中在一组文件中。(特定于语言环境的 DataBlade 消息存储在系统目录中)。UNIX glfiles 命令会输出 UNIX 系统支持的语言环境的列表。对于 Informix 分发版中没有包括 的语言环境,International Language Supplement 提供语言环境、代码集转换和已翻译 的用户界面与文档。
尽管本技术说明主要讨论 UDR 实现,但 DataBlade 开发人员也需要考虑任何客户机组件的国际化,这些组件是作为 DataBlade 模块的一部分而包括在模块中的。
GLS 产品
GLS 文档
DataBlade 开发人员需要以下文档:
Informix Guide to GLS Functionality
这是实现支持 GLS 的产品的核心文档。

Informix GLS Programmer ' s Manual
该手册描述如何使用 Informix GLS API 调用。

GLS document ation and Release Notes
请常常查看最新的分发版以获得新的信息:

$INFORMIXDIR/release

Informix DataBlade API Programmer ' s Manual
讨论用于产生错误和输出跟踪消息的 GLS 特性。

DataBlade Developers Kit User ' s Guide
DBDK 生成使用 GLS 调用的源代码。

DataBlade 开发人员需要什么 Informix 产品?
您需要以下 Informix 产品来实现支持多语言的 DataBlade 模块:

Informix Dynamic Server

DataBlade Developers Kit
BladeSmith 生成使用多个 GLS 库函数的代码,包括用于异常处理和跟踪的函数。

Client Software Development Kit

International Language Supplement (ILS),用于所有您计划支持但缺省分发版没有包括的语言环境(用 glfiles 命令检查),以使您能在每个语言环境中测试 blade 的行为。

您还需要前面的 GLS 文档一节中列出的文档。

客户需要什么 Informix 产品?
您的客户需要以下产品以在其语言环境中运行您的 DataBlade 模块:

Informix Dynamic Server

您的 DataBlade 模块

用于客户的语言环境的 International Language Supplement (ILS)(如果它尚未包括在分发版中的话)。

客户还必须通过适当地设置 CLIENT_LOCALE 和 DB_LOCALE 环境变量来正确地设置其 GLS 环境。

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus