注册 登录
编程论坛 Oracle论坛

gcc+proc如何处理中文?

BlueDreame 发布于 2010-12-17 16:07, 1257 次点击
环境:CentOS 5.5
      gcc 4.1.2
      Oracle 10g (al32utf8字符集)

使用gcc + proc编程,由于项目整体要求,使用char数组充当字符串(不是wchar_t)
char* 里的字符串总不能正确执行,举例:
    SELECT id FROM tbl WHERE name='小白';
    其中,数据库中有相应数据,在sqlplus中该语句也能正确执行,但是一旦用gcc编译成程序,则总是不成功(无论使用英文字段值还是中文的)。
后来在sqlplus中使用:
    SELECT TRIM(name), DUMP(TRIM(name)) FROM tbl;
    发现,数据库返回的是utf-8编码,而c程序则根据环境变量(LC_ALL   LANG (zh_CN.ZHS16GBK、zh_CN.UTF-8、en_US.UTF8))不同而不同,有时是gbk,有时是不认识的字符集,就是没有utf-8字符集。

请问,有遇到这种问题的同志吗?请问该如果解决?谢谢了。
1 回复
#2
BlueDreame2010-12-17 21:49
找到问题了,不是编码的原因,而是某个函数运行有问题。结帖了。
1