在solaris下往sqlserver2k插入中文字符时变成乱码,问题解决?
npcy 2003-03-03 01:37:13 在solaris下往sqlserver2k插入中文字符时变成乱码,问题解决?
问题:
C程序,在solaris2.8上通过odbc3.6往sqlserver2k上插记录时,发现遇到中文字符到了数据库中,成
了乱码,并且通过改变编码方式,无法还原。
尝试解决过程:
1)在程序中,加上setlocale(LC_CTYPE,"");
环境变量设为setenv LANG zh或setenv LANG C或setenv LANG zh.GBK等
均告失败。
2)在网上看到很多人的java程序入库遇到类似的情况,说是“Java 语言默认的编码方式是UNICODE ,而我们中国人通常使用的文件和数据库都是基于 GB2312 或者 BIG5 等方式编码的”
还是怀疑是语言环境locale的问题,查了相关资料
locale -m 显示iso_8859_1/charmap.src
locale charmap 显示GB2312
3)怀疑是odbc的问题,但是用perl写的通过odbc入库程序可以正确显示中文
现在,本人已经无策,请哪位高人帮帮忙,指点迷经,谢谢啦!