• 5831阅读
  • 4回复

[提问]Qt读取mp3歌曲名、艺术家和专辑时中文全部是乱码 [复制链接]

上一主题 下一主题
离线zfp102
 

只看楼主 倒序阅读 楼主  发表于: 2012-03-12
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2013-04-01) —
关键词: 中文乱码mp3
Qt读取mp3歌曲名、艺术家和专辑时中文全部是乱码
英文显示正常


我用了

QTextCodec *codec = QTextCodec::codecForName("GBK");
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForLocale(codec);
读硬件什么的是中文显示正常了
但是对于这种从mp3解码流中读出来的歌曲名、艺术家、专辑还是没有效果。


有人知道怎样解决吗?谢谢。
累并快乐着。。。
离线zfp102

只看该作者 1楼 发表于: 2012-03-12
(数据库用的是qsqlite)
累并快乐着。。。
离线淳于半邪

只看该作者 2楼 发表于: 2012-03-12
QTextCodec *codec = QTextCodec::codecForName("GBK");
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForLocale(codec);
去掉上面的三行
什么都不用设置,只要把tr改成Qstring::fromlocal8Bit试试,应该就行了
离线phu727
只看该作者 3楼 发表于: 2012-03-14
也许不是gbk的,有可能是gb18030,gb2312
离线zfp102

只看该作者 4楼 发表于: 2012-04-17
大家好,已经解决了。
是解码的头部的信息为乱码,并不是文件名是乱码。
文件名显示正常。
在头部信息处使用toLatin1()函数,就行了。
谢谢大家的回答。
累并快乐着。。。
快速回复
限100 字节
 
上一个 下一个