社区
Linux/Unix社区
帖子详情
请教,在64位机AIX系统,使用iconv()函数转换UTF-8到GBK失败,是什么原因呢?如何解决?
hongming1129
2010-04-20 01:14:20
请教,在64位机AIX系统,使用iconv()函数转换UTF-8到GBK失败,是什么原因呢?如何解决?
...全文
994
8
打赏
收藏
请教,在64位机AIX系统,使用iconv()函数转换UTF-8到GBK失败,是什么原因呢?如何解决?
请教,在64位机AIX系统,使用iconv()函数转换UTF-8到GBK失败,是什么原因呢?如何解决?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
rain820804
2011-01-21
打赏
举报
回复
怎么看不了回复
hongming1129
2010-04-21
打赏
举报
回复
散分啦
hongming1129
2010-04-21
打赏
举报
回复
谢谢楼上的提醒。
检查了一下,果然是传入的参数不兼容。
调用iconv(cd, &inbuf, inlen, outbuf, outlen),传入的参数inlen、outlen均在前面定义成了int型。正确的定义应该是long、unsigned long、size_t。
修改数据定义语句为:
size_t inlen, outlen;
函数原型:
size_t iconv(iconv_t cd, const char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft);
size_t类型在sys/types.h中的定义:
typedef unsigned long size_t;
在旧的C语言库中,size_t类型在sys/types.h中的定义:
typedef unsigned int size_t;
习惯了,直接就在前面定义了int inlen, outlen。
良好的习惯应该使用库中定义的数据类型。或者应该要了解库中定义的基本数据类型。至少在出现这种问题的时候,会从这个角度着手解决。
再次感谢!
tufei1129
2010-04-21
打赏
举报
回复
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”,字长不够。
检查下传入的参数是否符合。
hongming1129
2010-04-20
打赏
举报
回复
perror("iconv"),结果是“invalid wide charactor”。
hongming1129
2010-04-20
打赏
举报
回复
说明下,我使用的是系统自带的库。并未自己加装一个libiconv。
ivonc_open()调用正常,但是在调用iconv时返回-1。
mymtom
2010-04-20
打赏
举报
回复
楼主, 上代码!
brookmill
2010-04-20
打赏
举报
回复
http://bbs3.chinaunix.net/archiver/tid-1227459.html
aix
服务器文件名乱码,java
aix
文件名乱码
java
aix
文件名乱码[2021-02-03 13:32:18]简介:php下fopen中文文件名乱码的
解决
办法:首先对文件名进行编码,代码为【$fileName =
iconv
('
UTF-8
', '
GBK
', $fileName)】;然后保存原先的中文文件名;最后再通过文php上传文件名乱码的
解决
办法:首先打开“Upload.html”文件;然后添加语句“enctype="multip...
linux
gbk
英文转unicode,linux unicode to
gbk
or
gbk
to unicode
1.关于C程序的汉字
转换
问题。//================================================================================================通用的方法:linux中有
iconv
库,直接
使用
库
函数
,能够进行各种编码
转换
:#include#defineOUTLEN255#include#includeint...
c语言
iconv
函数
,lib
iconv
的介绍
查看原文http://www.gnu.org/software/lib
iconv
/由于历史
原因
,国际上的各国文字都是依赖于自己本国语言而编码的。后来,随着Internet的出现和各国之间逐渐频繁的文字交流(比如浏览国外的Web页面),编码之间的
转换
就显得非常重要。这时也出现了一个问题,很多字符在一种编码中出现而没有被另一种编码包含。为了
解决
这种编码带来的混乱,人们发明了Unicode编码。它是所有...
嵌入式qt的安装和应用
嵌入式工具Qt的安装与
使用
摘要 Qt是Trolltech公司的一个产品。Trolltech是挪威的一家软件公司,主要开发两种产品:一种是跨平台应用程序界面框架;另外一种就是提供给做嵌入式Linux开发的应用程序平台,能够应用到PDA和各种移动设备上。Qt和Qtopia分别是其中具有代表性的两个。(2004-05-05 10:52:14)--------------------------------------------------------------------------------By lan
开篇-QT完全手册
嵌入式工具Qt的安装与
使用
摘要 Qt是Trolltech公司的一个产品。Trolltech是挪威的一家软件公司,主要开 发两种产品:一种是跨平台应用程序界面框架;另外一种就是提供给做嵌入式Linux开发的应用程序平台,能够应用到PDA和各种移动设备上。Qt和 Qtopia分别是其中具有代表性的两个。(2004-05-05 10:52:14) ----------------...
Linux/Unix社区
23,116
社区成员
74,506
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章