最近有个项目需要通过ODBC方式连接informix数据库,但是出现了中文乱码问题。
中文乱码问题无疑肯定还是字节集编码问题引起的,以前jdbc连接informix中文乱码可以通过添加连接串后缀来强制编码;DB_LOCALE=en_us.819;CLIENT_LOCALE=en_us.57372;NEWCODESET=GBK,8859-1,819,把数据库默认的en_us.819强制转换为中文编码
但是查阅大量资料后发现ODBC不像JDBC那样可以强制字符串解决,可是改变数据库默认编码又不现实,
通过一个解读了informix客户端2.7版本之后的编码支持问题的帖子,得到了答案!
把服务端的informix版本更换为2.7版本,调用INFORMIX 3.34 32BIT的 ODBC驱动完美的解决了在不改变数据库默认编码方式情况下的中文乱码问题。
连接串如下:
"DBType": "odbc",
"Provider": "Driver={INFORMIX 3.34 32 BIT};Host=****;Server=****;Service=****;Protocol=onsoctcp;Database=***;UID=***;PWD=***;"
记录一下,以备自己查阅,也希望可以帮助到碰到同样问题的朋友们!