一、字符(Character)是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。字符集(Character set)是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同,常见字符集名称:ASCII字符集、GB2312字符集(简体中文)、BIG5字符集(繁体中文)、 GB18030字符集(亚洲字符集合)、Unicode( 常用 UTF-8) 字符集等。

二、informix字符目录介绍

Informix GLS 语言环境对常用的字符集进行了命名及内部编码(采用 16 进制编码)管理。通过服务器端的文件:$InformixDIR/gls/cm3/registry 查看 GLS 字符名称、编码对照表。示例如下:

字符集名称  编码  十六进制编码
8859-1 819 # 0x0333
gb 57357 # 0xe00d
GB2312-80 57357 # 0xe00d
utf8 57372 # 0xe01c
big5 57352 # 0xe008
GB18030-2000 5488 # 0x1570

GLS 环境中不同字符集名称可能对应同一个字符集编码,但一个字符集只能有一个编码,也就是说字符集编码才是唯一的。

GLS 环境中按照语言和地区把所支持的字符集分成不同的目录。$InformixDIR/gls/lc11/ 语言 _ 地区 /,如中文大陆地区的目录为:$InformixDIR/gls/lc11/zh_cn/,该目录下有如下两个文件:1570.lco e00d.lco ,说明我们在设置字符集时,我们可以使用 zh_cn.GB18030-2000 zh_cn.gb zh_cn.GB2312-80 三个不同的名称。这里(zh_cn.gb 与 zh_cn.GB2312-80 对应相同的字符集)。

GLS 环境中不同的字符集可以正确的进行转换,查看那些字符集可以正确转换的方法,查看目录 $InformixDIR/gls/cv9 目录下的是否存在指定字符集互相转换的文件。如该目录下有文件 e01ce00d.cvo 和 e00de01c.cvo 两个文件,表示 GLS 通过这两个转换文件支持 UTF-8 与 GB 之间的字符转换。

三、informix字符集设置

由于INFORMIX数据库的字符集是对整个实例有效,默认字符集为:en_US.819

其他字符集可以通过如下方式进行设置(只有数据库初始安装时才可以修改);

在Informix环境变量中添加

export DB_LOCALE=zh_cn.GB18030-2000

export CLIENT_LOCALE=zh_cn.GB18030-2000

重新初始化数据库,新的数据库支持UTF8字符集。

四、使用JDBC连接数据库

jdbc:informix-sqli://192.168.1.1:9088/test:INFORMIXSERVER=ifxserver;NEWCODESET=GB18030,GB18030-2000,5488; CLIENT_LOCALE=zh_cn.GB18030-2000;DB_LOCALE=zh_cn.GB18030-2000

五、查看数据库字符集

有如下两种方式:

A.

dbaccess dbname

select site from systables where tabname=' GL_COLLATE'

B.

dbaccess sysmaster

select * from sysdbslocale