找回密码
 注册
查看: 1278|回复: 10

修正gnome2.2里的一个的小bug

[复制链接]
发表于 2003-5-15 11:49:16 | 显示全部楼层 |阅读模式
gnome2.2
右键mp3文件选"属性"-"音频"标签看不到中文id3标签的bug,现已修正
当然,原因还是源码作者没有考虑编码转换
见贴图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 发表于 2003-5-15 11:57:35 | 显示全部楼层
忘了说,是nautilus-media这个包的问题
回复

使用道具 举报

发表于 2003-5-15 12:08:32 | 显示全部楼层
KDE也存在这个问题,我现在正在考虑又不要修改,
如果tag是utf-8的就是正常的,要改牵连的东西太多了,比如很多可以修改id3tag的程序,比如juk,就要改成保存为local8Bit的。
回复

使用道具 举报

发表于 2003-5-15 12:14:43 | 显示全部楼层
文件是kdemultimedia/kfile_plugins/mp3目录下。
请传一个id3tag为中文的mp3到ftp,就你图中的那个就行。
今天晚上测试一下。
回复

使用道具 举报

发表于 2003-5-15 12:57:05 | 显示全部楼层
很奇怪,难道是我测试用的mp3有问题?
KMp3Plugin::writeInfo中
[code:1]
strncpy(mp3.id3.title,  info["id3v1.1"]["Title"]  .value().toString().local8Bit(), 31);
    mp3.id3.title[ 30 ] = '\0';
    strncpy(mp3.id3.artist, info["id3v1.1"]["Artist"] .value().toString().local8Bit(), 31);
    mp3.id3.artist[ 30 ] = '\0';
    strncpy(mp3.id3.album,  info["id3v1.1"]["Album"]  .value().toString().local8Bit(), 31);
    mp3.id3.album[ 30 ] = '\0';
    strncpy(mp3.id3.year,   info["id3v1.1"]["Date"]   .value().toString().local8Bit(),  5);
    mp3.id3.year[ 4 ] = '\0';
    strncpy(mp3.id3.comment,info["id3v1.1"]["Comment"].value().toString().local8Bit(), 29);
    mp3.id3.comment[ 28 ] = '\0';
[/code:1]

和readinfo中:
[code:1]
   
        appendItem(id3group, "Title", QString::fromLocal8Bit(mp3.id3.title));
        appendItem(id3group, "Artist", QString::fromLocal8Bit(mp3.id3.artist));
        appendItem(id3group, "Album", QString::fromLocal8Bit(mp3.id3.album));
        appendItem(id3group, "Date", QString::fromLocal8Bit(mp3.id3.year));
        appendItem(id3group, "Comment", QString::fromLocal8Bit(mp3.id3.comment));
[/code:1]
都应该是没有错误的
回复

使用道具 举报

 楼主| 发表于 2003-5-15 13:22:40 | 显示全部楼层
已经上传了一个MP3,带中文GBK id3tag的
我觉得是你的mp3的问题,我这里kde下的信息是完全正常的,我还没见到不正常的id3tag
回复

使用道具 举报

 楼主| 发表于 2003-5-15 13:25:22 | 显示全部楼层
见我这个mp3在kde下的id3信息

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

发表于 2003-5-15 13:25:30 | 显示全部楼层
[quote:a71ae7a5d7="llc"]已经上传了一个MP3,带中文GBK id3tag的
我觉得是你的mp3的问题,我这里kde下的信息是完全正常的,我还没见到不正常的id3tag[/quote]
有可能,因为代码应该没有任何问题的。
读出id3tag,通过QString::fromLocal8Bit()说明这里要求的id3tag肯定是gb*编码的,然后写的时候,用local8Bit转一下,也应该是正常的,看来是我侧使用的mp3用问题了。
回复

使用道具 举报

 楼主| 发表于 2003-5-15 13:27:59 | 显示全部楼层
:neutral:
回复

使用道具 举报

 楼主| 发表于 2003-5-15 13:31:07 | 显示全部楼层
QString::fromLocal8Bit()函数能将gbk编码转成unicode?
local8Bit()是将unicode转成gbk?
回复

使用道具 举报

发表于 2003-5-15 14:02:37 | 显示全部楼层
[quote:c5b056272e="llc"]QString::fromLocal8Bit()函数能将gbk编码转成unicode?
local8Bit()是将unicode转成gbk?[/quote]
QString::fromLocal8bit()是从一个local8bit的字符串中得到Unicode字符串
local8Bit()返回locale指定的编码的字符串,也就是可以转成GBK
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2025-1-9 23:15 , Processed in 0.073167 second(s), 16 queries .

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表