配置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;