gcc+proc如何处理中文?
环境:CentOS 5.5gcc 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字符集。
请问,有遇到这种问题的同志吗?请问该如果解决?谢谢了。