+ -
当前位置:首页 → 问答吧 → AIX 程序写DB2中文乱码问题

AIX 程序写DB2中文乱码问题

时间:2011-03-09

来源:互联网

各位大侠们

   SQL:insert into SAPECD.ZGES_T_LOG_HDR(MANDT,XFROM,LOGNR,GEBUK,TABTY,BUDAT,VERSN,DESCR,RETYP,
XREAD,ERNAM,AEDAT,ICRTM) values('666','G','G1000000254','NY01','EF','20110131',3,'文件名[/GES/NY01/Inbox/EF_NY01_20110131_V03
.xml]格式错误:数据类型无法解析','E','N','GES','20110301','162940')

程序实现:C++,程序调用DB2的API来进行数据库操作:CSqlRecordset-Open()来执行Insert的操作

oRecordSet.Open(strSql.C_str(), CSqlRecordset::sqlCmdSQL,SQL_CURSOR_FORWARD_ONLY ) oRecordSet为CSqlRecordset的对象


问题:目前在一台AIX上运行程序写入数据库没问题,但在另一台AIX上却是乱码(例如:�ļ��[/home/GES/WI02/Inbox/AO_WI02_20101231_V01.xml]��ʽ������������޷����,数据库看到的好像和粘贴出来还不一样)

感觉是AIX的环境问题,但找了好久也没找到原因,两台AIX连接的同一个DB2数据库,程序也是同一套,求各位大侠们帮帮忙

正常的AIX
/home/swfadm/source/GroupGL_GES:locale -a
C
POSIX
en_US
en_US.8859-15
en_US.ISO8859-1
乱码的AIX
09:41:46 qkfadm@ST-STOCK:[/home/qkfadm]$locale -a
C
POSIX
ZH_CN
ZH_CN.UTF-8
Zh_CN
Zh_CN.GB18030
en_US
en_US.8859-15
en_US.ISO8859-1
zh_CN
zh_CN.IBM-eucCN

在程序启动前,我都会执行:export LC_ALL=en_US.gb2312  ,不知道还有什么地方会引起这样的错误?

作者: xpyuanhang   发布时间: 2011-03-09

补充一下,在两台机器上,用命令行执行SQL语句,插入中文都没有问题

作者: xpyuanhang   发布时间: 2011-03-09