免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3519 | 回复: 4
打印 上一主题 下一主题

关于solaris下iconv_open, iconv, iconv_close函数的运用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-12-07 09:06 |只看该作者 |倒序浏览
问题:
我用下面的这段测试保存成main.cpp, 然后用CC -o main.exe main.cpp /usr/lib/libiconv.so
进行编译,链接生成main.exe执行文件,运行之,发现调用iconv_open返回-1, 不知何故,请高手赐教!
注:我用的是solaris自带的库 /usr/lib/libiconv.so, 不知道跟这个有没有什么关系?
还有我用命令:iconv -f "gb2312" -t "ucs-2"进行测试, 提示说:Not suported gb2312 to ucs-2
请问怎样才能支持这样转换?
另外, 我怎么才能知道我们的系统支持那些转换?

测试代码:
int main()
{
        int         ret     = EXIT_FAILURE;
        iconv_t     cd      = ( iconv_t )-1;
        char        in[]    = "GB2312与Unicode双向转换测试";
        size_t      inlen   = sizeof( in );
        char       *inp     = in;
        char        out[sizeof(in)*2];
        size_t      outlen  = sizeof( out );
        char       *outp    = out;
       
        if ( ( iconv_t )-1 == ( cd = iconv_open( "UCS-2", "GB2312" ) ) ) {
                std::cout << "ErrorCode: " << errno << std::endl;
                std::cerr << "cann't execute iconv_open!" << std::endl;
                return -1;
        }
        std::cout << "Handle: " << cd << std::endl;
       
        if ( -1 == iconv( cd, (const char**)&inp, &inlen, &outp, &outlen ) ) {
                std::cerr << "cann't execute iconv!" << std::endl;
                return -1;
        }
                 return 0;
}

论坛徽章:
0
2 [报告]
发表于 2005-12-07 13:28 |只看该作者
没有人做过这个吗

论坛徽章:
0
3 [报告]
发表于 2005-12-07 15:55 |只看该作者
solaris自带的库 /usr/lib/libiconv.so没用过,但据说是不支持GB2312
用Freeware For Solaris上下载的 libiconv-1.8支持GB2312

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
4 [报告]
发表于 2010-12-27 13:54 |只看该作者
solaris下无法直接进行转换,之间要通过UTF-8中转

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
5 [报告]
发表于 2010-12-27 16:41 |只看该作者
不支持直接转换,需要通过UTF8中转。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP