Ubuntu 下Banshee播放mp3,中文显示乱码的解决

所依赖的 libid3tag 库完全按照 ID3 标准来读取标签内容。不管使用何种标准的标签,只要是读取以 Unicode 编码的中文内容,肯定没有问题,遇到 GBK/GB18030 编码的中文内容时,还是把它当成 ISO-8859-1 编码来读取,不乱才怪。
       那就把编码做转换。
       打开终端,
sudo apt-get install python-mutagen
转到存音乐的目录下,
mid3iconv -e gbk *.mp3
如果想转换当前目录下的所有 mp3 (包括子目录):
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
* 不过它会同时用 Unicode 编码填满 D3v1, ID3v2, APEv2 标签,但是 ID3v1 又不支持中文的 Unicode 编码,所以转换后的 ID3v1 标签全是问号。所以最好加上 –remove-v1 参数,转换后删除 ID3v1 标签。
mid3iconv -e gbk --remove-v1 *.mp3

你可能感兴趣的:(Banshee)