日期:2014-05-16  浏览次数:20955 次

请教,在64位机AIX系统,使用iconv()函数转换UTF-8到GBK失败,是什么原因呢?如何解决?
请教,在64位机AIX系统,使用iconv()函数转换UTF-8到GBK失败,是什么原因呢?如何解决?

------解决方案--------------------
http://bbs3.chinaunix.net/archiver/tid-1227459.html
------解决方案--------------------
perror("iconv"),结果是“invalid wide charactor”。
在调用iconv()时,字长不够,可能传入的参数类型不兼容。尤其时在64位机上,long的字长是8,int的字长是4;在32位机上long的字长是4,int的字长也是4。在32位机上,int、long是可以通用的,在64位机上,用long的地方,传了int的数据做参数就会报“invalid wide charactor”,字长不够。
检查下传入的参数是否符合。