首页| 论坛| 消息

标题:gb2312转utf-8编码问题
作者:rooney
日期:2009-07-03 17:16
内容:

我从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没有打印信息,是空的


#1 [zshxiong 07-29 21:15]
用libiconv吧
#2 [shiroki 07-30 12:03]
这个问题原因很简单, 解决比较麻烦
因为你的qt里没有找到GB的codec
如果是qt2、3的话, 是中文codec支持没有加到库里, 需要修改qconfig-xxx.h(不知道你用的是哪个文件,和你configure时给的qconfig选项,或configure时选的参数有关), 去掉里面CODEC相关的宏定义
如果是4,默认是有codec支持的,但编译成了插件, 可能是没有把插件和库一起发布到板子上
#3 [allblue 07-31 15:28]
学习了,嘿嘿

回复 发表
主题 版块