[原创]linux下编码转换问题,C语言实现,使用iconv函数族68
(2012-07-30 02:49:00)
标签:
linux
68
c语言
杂谈
#include #include #include #include //convert function#include
#include #define S 2000void convert(const char *fromset,const char
*toset,char *from,int from_len,char *to,int to_len{ printf("%s is
to be converted!n",from iconv_t cd,cdd cd=iconv_open(toset,fromset
char **from2=&from char **to2=&to
if(iconv(cd,from2,&from_len,to2,&to_len==-1 printf("Convert
fail!n" else printf("Convert success!n" iconv_close(cd return }int
main({ char from[]="你好" char to[S]
convert("GB2312","BIG5",from,strlen(from,to,S //把gb2312转换成big5
printf("%sn",to return 0}ps.
请原谅我发代码hczz.info,我也知道发代码是可耻的,但是实在是不知道怎么回事了www.jxqr.info。空调扇冷暖风扇风扇和空调扇哪个好
如果我把convert函数的参数“GB2312”和“BIG5”换成“UTF-8”和“GB2312”就可以成功,不知道为什么。谢谢了。我觉得这是文件编码的问题,就是说linux下的文件编码一般情况下是utf-8的,所以就出现这个问题了。非常感谢这位zsu的童鞋!的确是这原因,用gb2312的文件读入就可以了,这个原因我不知道要多久才能发现.^
_ ^
分享:
喜欢
0
赠金笔
加载中,请稍候......
评论加载中,请稍候...
发评论
登录名: 密码: 找回密码 注册记住登录状态
昵 称:
评论并转载此博文
发评论
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。