2月 062010
 

最近尝试 Listen 和 Banshee 才发现,Rhythmbox 上出现的 mp3 乱码问题依旧,而且更加严重,想要彻底弄清和解决必须搞清两点,

第一, mp3 标签类型和编码,
第二,各种播放器对 mp3 标签读取情况,相信它们应该都有相关的开发文档来说明,但我还是用了一个最笨的方法,就是一个一个的测试来得出结论,真理不是来自于实践吗?

1、了解 mp3 标签类型和使用的编码 首先说 mp3 标签类型和编码,大家应该知道目前主要存在这几种标准,ID3v1, ID3v2 2.3, ID3v2 2.4, APEv2,ID3v1 只支持 ISO-8859-1 编码 (编码集参考),严格的说它是不支持中文的 (并不代表它不能储存中文信息,目前中文 mp3 的 ID3v1 标签都使用这个字段来储存 GBK/GB18030 编码的中文信息),而第二版 (ID3v2) 支持的格式增加了 utf-16,直到 2.4 版才开始支持 uft-8,但 ID3v2 标准没有统一标签内容的编码,例如 2.4 版的 ID3v2 你可以使用 ISO-8859-1 编码,也可以使用 utf-16/uft-8 这种 Unicode 编码格式。做得最好的是 APEv2,它不但有很好的扩展性,而且还把编码格式统一为 utf-8,这样一来只要支持 APEv2 读取的播放器播放带有 APEv2 标签的 mp3 就不会存在乱码问题。 Continue reading »