AIX 程序写DB2中文乱码问题
各位大侠们
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 ,不知道还有什么地方会引起这样的错误?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
补充一下,在两台机器上,用命令行执行SQL语句,插入中文都没有问题