SCerZZ 发表于 2007-12-14 03:23:14

Amarok标签输入后为变成问号[已解决]

好久没下什么歌了,最近下了些歌,肯定要修改一些标签的,但是一旦修改,再打开的时候就变成???了,用的是1.4.7系统自带的版本,系统为1107,播放器默认能够显示gb编码的标签。我开始没注意这个问题,因为我输入标签信息后,收藏显示信息是正确的,添加到播放列表后的信息是正确的,但是我一旦重新扫描收藏就会出错了.

我搜索了下,说是补丁有失效,具体就不清楚了,是我哪里搞错了还是怎么回事?帮个忙

发个补丁,用的audacious的编码识别,不过只识别中文(UTF-8,GBK,日文和韩文不晓得怎么测试,就精简了,也不太了解编码方面的

没有在magiclinux下测试过,现在装的系统是换了硬盘后装的,当时只有fc8了。

[ 本帖最后由 SCerZZ 于 2008-2-28 19:00 编辑 ]

nihui 发表于 2007-12-14 18:16:10

然,的确是补丁有点问题.......
正想办法呢....

SCerZZ 发表于 2007-12-15 00:06:01

嗯,加油,不知道哪里有这个的源代码包啊,也想看看
http://apt.magiclinux.org/magic/2.1/unstable/SRPMS.os/
中的版本是1.4.5的

SCerZZ 发表于 2007-12-17 01:57:21

自己看了下代码,改了下,这里是补丁,我自己用起没什么问题了,思路就是把读取标签信息的时候转gb到utf8
写入信息的时候把utf8转为gb。

SCerZZ 发表于 2007-12-17 01:58:35

对了,对应版本是1.4.7,我自己根据http://apt.magiclinux.org/magic/2.1/unstable/SRPMS.os/
中的源代码包的spec文件修改自己打了个包了,暂时还没什么问题

sejishikong 发表于 2007-12-17 11:16:20

原帖由 SCerZZ 于 2007-12-17 01:57 发表 http://www.linuxfans.org/bbs/images/common/back.gif
自己看了下代码,改了下,这里是补丁,我自己用起没什么问题了,思路就是把读取标签信息的时候转gb到utf8
写入信息的时候把utf8转为gb。
这样只针对gb的tag吧。

nihui 发表于 2007-12-17 12:06:09

QString::fromLocal8Bit
这个静态函数应该是可以用于 locale 对应的编码的。
mgc 是 gb18030 ,那么就是 gb18030 编码的 tag。

如果要能识别多种的,必须要样本文本足够,否则很容易出错。

原先的补丁也是用这个函数的。

既然可以解决问题,何不用一下呢?

SCerZZ 发表于 2007-12-17 13:00:05

嗯,是针对local的,如果local是utf8就没用了,没有强制为从gb转到utf8或者从utf8到gb
只是在magiclinux下的GB18030编码下才能正常

fanhed 发表于 2007-12-21 12:11:13

我用nautilus,写个转换脚本,一键搞定,把所有下载的新歌都搞成utf-8,多省事啊,而且windows的千千和foobar都认utf-8的,只要不用wmp就好了
多省事啊,完全不怕有副作用

sejishikong 发表于 2007-12-21 19:01:50

这不是办法,太麻烦。从根本上解决的办法就是能智能判断编码才行。

jiangtao9999 发表于 2007-12-22 10:07:35

audacious 的编码识别代码效果现在已经很不错了。
为何不借用试试?

SCerZZ 发表于 2007-12-23 17:51:20

有空去看看,看能搞出来不,也做点贡献

SCerZZ 发表于 2008-2-28 19:06:45

顶一下起来,还是算有新收获了

三翻领 发表于 2008-2-28 19:19:49

原帖由 sejishikong 于 2007-12-21 19:01 发表 http://www.linuxfans.org/bbs/images/common/back.gif
这不是办法,太麻烦。从根本上解决的办法就是能智能判断编码才行。
智能判断怕是不易啊。
有个mozilla的项目,用python写的chardet,可以自动判断编码,但也只能说马马虎虎吧。中文只返回gb2312:cry:

SCerZZ 发表于 2008-2-28 20:05:53

只要猜测出来不是UTF-8都强制用GBK编码,懒得管这么多条件了,看了貌似没有完全准确判断的,都是猜测,字符越长准确率越高,从audacious中找的
页: [1] 2
查看完整版本: Amarok标签输入后为变成问号[已解决]