当前位置:  技术问答>linux和unix

iconv 无效的参数

    来源: 互联网  发布时间:2017-03-15

    本文导语:  #include  #include  #include  #include  #include  #include  #include  int main(int argc, char * argv[]) {     size_t ret;     char in_utf8[] = "姝e?ㄥ??瑁?";     char in_gb2312[] = "正在安装";     int src_len = strlen(in_utf8);     char szDes...



#include 
#include 
#include 
#include 
#include 
#include 
#include 

int main(int argc, char * argv[])
{
    size_t ret;
    char in_utf8[] = "姝e?ㄥ??瑁?";
    char in_gb2312[] = "正在安装";

    int src_len = strlen(in_utf8);
    char szDest[64] = {''};
    int dest_len = 64;
    memset(szDest,'',64);
   
    iconv_t conv;
   
    conv = iconv_open("UFT-8","GB2312");
    if (conv == (iconv_t)-1) 
    {
        perror("iconv_open:");
        return -1;
    }
    
    ret = iconv(conv,(char**)&in_utf8,&src_len,&szDest,&dest_len);
    if (ret == -1) 
    {
        perror("iconv:");
        return -1;
    }

    printf("%srn",szDest);
    iconv_close(conv);
    
    return 0;
}



iconv_open 提示无效的参数是怎么回事?  我想把UTF8转成 GB2312
就是把LINUX下的默认编码转成WINDOWS可以显示的

|
conv = iconv_open("UFT-8","GB2312");
写反了吧
conv = iconv_open("GB2312","UFT-8");
iconv_t iconv_open (const char* tocode, const char* fromcode);

看看你的系统是否支持GB2312, 有的系统需要用GB18030

#include 
#include 

int main(int argc, char *argv[])
{
        char utf8[] = "xe6xadxa3xe5x9cxa8xe5xaex89xe8xa3x85";
        char gb2312[100];

        char *inbuf;
        size_t inleft;
        char *outbuf;
        size_t outleft;

        size_t inlen;
        size_t outlen;

        iconv_t cd;

        cd = iconv_open("GB18030", "utf-8");
        if ((iconv_t)-1 == cd) {
                perror("icnov_open");
                exit(1);
        }

        inbuf = utf8;
        inleft = strlen(utf8) + 1;
        outbuf = gb2312;
        outleft = sizeof(gb2312);

        iconv(cd, &inbuf, &inleft, &outbuf, &outleft);
        outlen = sizeof(gb2312) - outleft;

        printf("%sn", gb2312);

        return 0;
}

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 跪求解决方法 iconv 不支持 utf-8 gb2312转换 iconv -l 显示没有utf-8 gb2312
  • 如何用 iconv_open,iconv,iconv_close 在 Unicode 跟 GB2312 之间转换?
  • LINUX下的ICONV无法使用
  • iconv是不是有bug?
  • iconv.h 问题
  • iconv的问题
  • 求iconv批处理脚本
  • 关于用iconv函数作编码转换的问题
  • iconv命令处理固定文件夹下的所有文件
  • 使用iconv批量改变文件编码的shell脚本
  • libxml2 编译程序 ERROR: Undefined symbol: .iconv_open
  • php iconv函数用法示例与注意事项
  • FreeBSD+php4.4+apache2的iconv的问题...........
  • iconv从UTF8转到GB18030中文乱码问题
  • .net/c#/asp.net iis7站长之家
  • php iconv函数解决utf-8与gb2312编码转换问题
  • 请教,在64位机AIX系统,使用iconv()函数转换UTF-8到GBK失败,是什么原因呢?如何解决?
  • iconv可以用来转换文字编码,有没有可以用来识别编码的?
  • linux下iconv无法实现字符集的转换
  • Solaris8,安装了iconv,gcc和gcclib,然后用gcc编译c程序出错。


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3