• Amarok中文支持:mp3标签问题 - [走很长路]

    2008-09-07 | Tag:Linux Amarok

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://cycasii.blogbus.com/logs/28622453.html

         

          首先看看MP3所使用的ID3标签发展过程。曾公开推行过的MP3标签的标准有很多,从ID3v1到ID3v2,ID3v2中又有到ID3v2 v2.4为止的四个版本,ID3v1和ID3v2两种标签可以在一个文件中同时存在且被识别,但ID3v2标签对于一个MP3文件来说则是唯一的。 ID3v1标签很古老,允许的信息量也少,附在MP3文件末尾最后128个字节上,它只支持ISO-8859-1编码集,这是一个西欧语言编码,换句话说它在设计时就未曾考虑过对CJK,即中日韩字符的支持。

          后来的ID3v2标准扩展了允许在标签中存放的信息条目,并开始支持Unicode以满足国际化的需要,现在网络上流传的MP3文件如果采用了ID3v2 标签,也大多是以ID3v2 v2.3标准为大致的遵循依据,它允许的合法标签信息存储编码包括ISO-8859-1和UTF16-LE WITH BOM。ID3v2 v2.4是比ID3v2 v2.3更新的标准,UTF-8直到这个版本中才成为了合法的标签信息编码,它弥补了ID3v2 v2.3的一些缺憾,但它在实际中有一个问题,那就是缺少应用软件的支持,比起ID3v2 v2.3,ID3v2 v2.4始终没有普及开来。

          注意到ID3v1标签在严格角度上说的确是不支持中文,但为什么那么多年来很多用户在 Windows上没有遇到这个问题,这是因为Windows下大多数播放器都不是Unicode程序,也不遵循实际上Linux下大多数播放器与标签处理机制所严格遵循的标准。Amarok之所以在1.4以后版本对MP3的中文支持出现了问题,是因为那些MP3的制作不符合标准而Amarok却严格符合导致的。

          解决的方法如下:

          1、安装Python-mutagen(用来转换MP3标签编码)

           sudo apt-get install python-mutagen

          2、cd到你的音乐文件夹,比如说我的是在:/media/Everything/Music/iTunes/iTunes\ Music/

          在终端输入: find . -iname "*.mp3" -execdir mid3iconv -e gbk {} \;

          相信现在大陆绝大多数能找到的 mp3 标签都是以 GBK/GB18030 编码,使用 -e gbk 来处理就够了,当然你也可以使用 -e gb18030 来处理。-e gbk 参数是代表把 GBK 编码的标签转换为 Unicode 编码,本身是 Unicode 编码的就不转换。如果需要转换其他编码的文件可以自行修改,如改为 Big5。
    经测试,转换后为 2.4 版的 ID3v2,编码格式为 uft-16。

          这样就解决了Amarok下mp3的中文标签的显示问题了~


    收藏到:Del.icio.us




    引用地址:

    评论

  • 赞小瑾~~我也不觉得好听哈哈~~
    你们都不带我玩了。。。唉。。
  • 我来了~快倒茶~
    我没有很久没来,可能是不知道留什么言。。。
    2首歌听了,漫漫人生路还好,但是我没感觉
    什么分分钟的已经被我扔掉了,啦啦啦~
    哈哈
  • 其实吧。。。。。

    还有更简单的方法。。。。。
    羽衣白菜回复staywizu说:
    那你说给我听咯~
    2008-09-08 19:01:35
  • 赞。。国宁同学也在被这个问题困扰。。。
    羽衣白菜回复staywizu说:
    Really, I am a good person~~:D
    2008-09-07 12:12:04