• 6939阅读
  • 3回复

gb2312转utf-8编码问题 [复制链接]

上一主题 下一主题
离线rooney
 
只看楼主 倒序阅读 楼主  发表于: 2009-07-03

我从mp3文件中读取到mp3文件的信息是gb2312编码的,我怎么把它转换为utf-8呀,试了好多方法都不成功  

QTextCodec * utf=QTextCodec::codecForName("gb2312");
    qDebug(utf->fromUnicode(QString(pId3.title)));
    return utf->fromUnicode(QString(pId3.title));
这样编译通过,但是运行时段错误

QTextCodec * utf=QTextCodec::codecForName("utf-8");
    qDebug(utf->toUnicode(QString(pId3.title)));
    return utf->toUnicode(QString(pId3.title));

这样,是没有转换的,qDebug没有打印信息,是空的
离线zshxiong

只看该作者 1楼 发表于: 2009-07-29
用libiconv吧
人可以为一个信念,甚至一句话活一辈子……
离线shiroki

只看该作者 2楼 发表于: 2009-07-30
这个问题原因很简单, 解决比较麻烦
因为你的qt里没有找到GB的codec
如果是qt2、3的话, 是中文codec支持没有加到库里, 需要修改qconfig-xxx.h(不知道你用的是哪个文件,和你configure时给的qconfig选项,或configure时选的参数有关), 去掉里面CODEC相关的宏定义

如果是4,默认是有codec支持的,但编译成了插件, 可能是没有把插件和库一起发布到板子上
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
离线allblue

只看该作者 3楼 发表于: 2009-07-31
学习了,嘿嘿
黑暗魔法
快速回复
限100 字节
 
上一个 下一个