下资料网络采集整理,出处未知,如有侵犯告知修改

==建议使用easytag更改文件id,中文界面,批量修改。

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 就不会存在乱码问题。

2、播放器对 mp3 标签读取情况

测 试的播放器有:gnome 自带的 Rhythmbox 0.10.0,Listen 0.5, Banshee 0.12.1+dfsg-3, Quod Libet 0.24, Exaile! 0.2.8, GMPC0.13.0, Audacious 1.2.2。

测试的方 法很简单,用一个 mp3 文件,分别写入不同类型的标签 (排列组合下来共 20 多种),在 ID3v1 和 ID3v22.3/2.4 中分别使用不同的编码写入中文信息 (如 GBK编码),然后用这些播放器去读取,得到其结果。从这次的测试结果来看,Rhythmbox 对各种 mp3 的标签支持最好,这主要归功于它支持APEv2 标签的读取。而 Banshee 和剩下的播放器完全一样,都不支持 APEv2 的读取,这个就能很好的解释为什么一些 mp3 在Rhythmbox 上正常,在其他播放器上就会乱码。原因是现在很多 mp3 为了兼容,都同时使用了 ID3v1 和 APEv2标签,Rhythmbox 读取 ID3v1 一样会乱码,但它优先读取了 APEv2 标签,而 Banshee 这些播放器不支持 APEv2就只能读取 ID3v1,当然会乱码了。

他们的共同特点就是,所依赖的 libid3tag 库完全按照 ID3 标准来读取标签内容。不管使用何种标准的标签,只要是读取以Unicode 编码的中文内容,肯定没有问题,遇到 GBK/GB18030 编码的中文内容时,还是把它当成 ISO-8859-1编码来读取,不乱才怪。

ps: Vista 上的 WMP 不支持 ID3v2 2.4 和 APEv2标签的读取,但它很聪明不能读取就用文件名代替,千千静听支持全系列标签的读取,但不支持以 ID3v2 2.4 标准的写入,不知道即将发布的5.0 有变化没有。foobar2000 v0.9.4.3 支持全系列标签的读取,默认使用 ID3v2 2.4 ( utf-8 )写入,不愧被誉为经典。

3、解决办法

一种办法就像 Win上的播放器一样,可以根据本地的编码方式来解码。以上测试的播放器中除了 Audacious外其他都不支自定义编码读取功能。
一种办法就是把 mp3 标签转换为 Unicode编码。这种方式既简单又支持标准,推荐大家使用。

使用工具把标签转换为 Unicode 编码

1.用 Python 写的 “Mutagen”,
命令安装:sudo apt-get install python-mutagen

ps:安装 Quod Libet 和 Listen 都必须这个

使用方法:
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 *.mp

2.安装quoblibet
修改QuodLibet的配置文件
gedit ~/.quodlibet/config
修改为
[editing]
split_on = & , /
id3encoding =GB18030
save_to_songs = true
save_email = 
alltags = true

3.使用EasyTAG。
 命令安装:sudo apt-build install easytag
 有界面转换很简单。

Rhythmbox 乱码问题相关推荐

  1. Rhythmbox乱码

    首先 需要有软件包mid3iconv. 可以通过如下代码自动安装:sudo apt-get install python-mutagen 然后转到你的MP3目录 执行命令进行转换:mid3iconv ...

  2. ubuntu Rhythmbox乱码

    ubuntu系统下的Rhythmbox乱码解决方式: 在命令行下输入:vi /home/用户/.profile 在文本最末尾加入下列两行代码: export GST_ID3_TAG_ENCODING= ...

  3. Rhythmbox乱码的解决的方法

    近期尝试 Listen 和 Banshee 才发现,Rhythmbox 上出现的 mp3乱码问题依然,并且更加严重,想要彻底弄清和解决必须搞清两点,第一, mp3 标签类型和编码,第二,各种播放器对 ...

  4. Ubuntu 16.04播放器Rhythmbox乱码解决

    使用Rhythmbox进行音乐播放的时候,歌曲名称专辑歌手名称都出现乱码,查看了网上很多教程,要不就是将音频转码,要不就是修改用户环境编码配置.前一种方法对音频有改动,后一种可能无效还有可能会影响系统 ...

  5. rhythmbox 乱码问题 和 歌词显示 同步

    一.乱码问题 解决rhythmbox播放列表乱码的问题(这个其实就是把当前文件夹里的所有字符转换 成GBK字符集类型) 首先安装python-mutagen: sudo apt-get install ...

  6. 解决Rhythmbox乱码问题

    首先,需要有软件包mid3iconv.如果你的系统中没有安装它,可以通过如下代码自动安装:sudo apt-get install python-mutagen 然后转到你的MP3目录,执行以全命令进 ...

  7. Ubuntu12.04 Rhythmbox 乱码

    这是在ubuntu版本到linux里面如何解决Rhythmboxmp3播放器出现中文乱码到情况 1:先进入你那个存放音频文件到那个文件夹,在终端上用cd命令去进入 如:syb@ubuntu:~$cd ...

  8. 解决ubuntu下音乐播放器Rhythmbox乱码问题

    两种解决方法 第一种是修改用户的环境变量 1.先打开主文件夹 cd /home/user #user是你的用户名然后编辑用户环境 2.sudo gedit .profile在打开的文件中添加: exp ...

  9. ubuntu下Rhythmbox音乐播放器乱码的解决方案

    今天在ubuntu论坛看到怎样解决困惑我已久Rhythmbox乱码,下面是解决办法: 首先,需要有软件包mid3iconv.如果你的系统中没有安装它,可以通过如下代码自动安装:sudo apt-get ...

  10. ubuntu9.10硬盘安装记录二

    firefox插件安装 要安装的插件有: Google工具栏 autopager autoproxy firebug flashgot foxlingo foxtab greasemonkey imt ...

最新文章

  1. python 自动化办公 案例_python自动化工具之pywinauto实例详解
  2. Thymeleaf中使用select进行消息回显时提示:Exception evaluaating SpringEL expression
  3. Google Chubby 论文翻译
  4. 全球最大IXP为何选择与华为开展数据中心互联合作?
  5. 力扣1317.将整数转换为两个无零整数之和
  6. 随想录(一个android原生app的代码赏析)
  7. Bootstrap手风琴菜单
  8. 深度学习之目标检测 第2章 目标检测算法基础介绍分类,目标检测方法基本流程
  9. KindEditor上传图片和修改图片
  10. 隧道管廊UWB定位系统解决方案
  11. 《看完就懂系列》谈谈数据埋点的原理与实现
  12. 让你对DC完全了解的88条名词解释(转)
  13. 微信小程序发布正式版规则,累的教训(小程序审核常见驳回类型-可用性和完整性问题)
  14. TP5框架的多图片上传返回不显示问题
  15. 华为、惠普、 戴尔、浪潮 服务器命名规则和型号分类
  16. python中的遍历
  17. “魔盗”窃密木马(FakeCDR)研究
  18. 雷达回波信号的脉冲压缩matlab仿真
  19. 跳过Windows安装程序
  20. docker 搭建禅道

热门文章

  1. Android基于百度地图的拖拽定位(地图可以拖动,定位图标不动)
  2. 机器之心的进化 / 理解 AI 驱动的软件 2.0 智能革命
  3. 安利一个简单实用的小技巧:图片怎么批量改尺寸
  4. 大咖访谈丨金星分享2020年直播数据,助农产品如何走上产销快车道
  5. 1.2 Genetic and Evolutionary Algorithms
  6. 计算机仿真和vr的区别,你真的知道AR与VR的区别吗?
  7. Prisma(一)——基础
  8. Ubuntu中配置WRF
  9. 【应急基础】————13、VBS遍历目录获取文件Hash
  10. antDesign 自定义分页样式