配置INFORMIX JDBC连接以支持中文显示

在INFORMIX数据库服务器和客户端均使用中文字符集,可以比较容易的实现对中文的操作;但若是数据库使用的是en_US.819等非中文字符集时,可以在jdbc连接字符串URL指定GLS变量以获得不同于服务器的字符代码集。

从客户端连接到服务器端的URL格式如下:

jdbc:informix-sqli://[{ip-address|host-name}:{port-number|service-name}][/dbname]: INFORMIXSERVER=servername[{;user=user;password=password] |CSM=(SSO=database_server@realm,ENC=true)} [;name=value[;name=value]...]

示例:
``text
jdbc:informix-sqli://192.168.80.53:9105/testdb:INFORMIXSERVER=ids_online_net;user=test;password=test;

意为:通过用户test及其密码连接至192.168.80.53上的服务器名为ids_online_net的数据库testdb上。  

INFORMIX的jdbc和其它产品一样支持GLS,在jdbc支持的变量中有一个NEWCODESET,充许在客户端使用与服务器端不同的字符集(Allows new code sets to be defined between releases of IBM Informix JDBC Driver.),则在URL中增加NEWCODESET=gbk,8859-1,819 即可实现输出输换成中文字体。  

NEWCODESET=JDK-encoding,Ifx-codeset,Ifx-codeset-number:JDK- encoding, Ifx-codeset,Ifx-codeset-number...

JDK-encoding对应java中的encoding是gbk  
ifx-codeset对应数据库中的编码格式,是ISO885901  
ifx-codeset-number对应informix数据库编码id,手册中8859-1对应的是819  

则URL连接变成以下即可实现正确显示中文字体。  

jdbc:informix-sqli://192.168.80.53:9105/testdb:INFORMIXSERVER=ids_online_net;user=test;password=test;NEWCODESET=gbk,8859-1,819;

标签: none

添加新评论