Rhythmbox中文乱码解决办法
今天在网络上找到了一个比较好的解决Rhythmbox中文乱码的问题的方法
进入你的音乐文件夹执行如下代码:
mid3iconv -e GBK *.mp3
如果没有提示多试几次,
有可能系统会提示:
python-mutagen没有安装。
sudo apt-get install python-mutagen 安装。
输入如上的命令,回车。等安装好程序之后,再回到你的音乐文件夹,
输入命令: mid3iconv -e GBK *.mp3 回车。
然后重新打开rhythmbox,OK! 所有mp3都能正常显示了。
mid3iconv 命令主要是将原来mp3音乐文件的ID3信息转换成了Unicode并用ID3v2的格式存回文件中。
----------------------------------------------------------------------------------------------
另外一个是用 Python 写的 “Mutagen”,目前最新版本 1.11,Ubuntu 7.04 源里也带有 1.10 版本的 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 *.mp3
-----------------------------------------------------------------------------------
Rhythmbox Music Player是ubuntu自带的一款音乐播放器,功能还算比较强大,使用也简单。唯一的缺点就是中文显示乱码,原因是由于编码不同所致。
在这里介绍一个解决方法,修改变量。
在终端输入:
1vi~/.profile
在最后加入下面内容:
12exportGST_ID3_TAG_ENCODING=GBK:UTF-8:GB18030exportGST_ID3V2_TAG_ENCODING=GBK:UTF-8:GB18030
保存退出。
1source~.profile
重启Rhythmbox把歌曲重新导入即可显示正确。此方法在Ubuntu 10.04可行,其他版本应该问题也不大。
----------------------------------------------------------
相信很多朋友在Linux里播放mp3的时候,不论使用何种mp3播放器,或多或少都会遇到mp3标签乱码的问题。我一般在遇到mp3标签显示乱码的时候 都是使用Ex Falso(Quod Libet自带的一个mp3标签编辑器)来编辑一下标签,使我的播放器Quod Libet能够正常识别mp3标签。遇到转换歌曲少的时候,这样做没有什么问题,但是很多刚从Windows转到Linux上来的朋友就头大了,很多在 Windows下显示正常的mp3标签在Linux下全都乱套了。
我们先来看看一些关于mp3的标签和编码的概念再来解决这个问题,大家就会比较清晰一些了。
mp3的标签类型和编码,现在主要存在这几种标准,ID3v1、ID3v2 2.3、ID3v2 2.4、APEv2。它们分别支持的编码为
ID3v1:只支持ISO--8859-1
ID3v2 2.3:ISO--8859-1、UTF-16
ID3v2 2.4:ISO--8859-1、UTF-16、UTF-8
APEv2:UTF-8
我们可以从上面的列表看出,mp3的标签类型和编码是多种多样,没有任何的规范可言的。ID3v1只支持ISO-8859-1这一种编码,它是不支持中文 的,所以一般来说只有ID3v1标签的mp3在Linux上基本上也都是乱码的命,而ID3v2 2.3支持的格式增加了UTF-16,直到ID3v2 2.4版才开始支持UTF-8,但是 ID3v2的两个版本标准并没有统一标签内容的编码。这里值得一提的是APEv2,它拥有最好的扩展性,它把编码格式统一为UTF-8,这样一来只要支持 APEv2读取的播放器播放带有APEv2标签的mp3就不会存在乱码问题。可惜的是现在在国内的网站上下载的mp3基本上都没有APEv2标签,而且 Linux下也没有几个播放器支持APEv2标签的读取。(目前Gnome里的Rhythmbox是支持APEv2标签读取的,包括Quod Libet都不可以。)
一首mp3的标签是可以包含多种类型的,当一首mp3同时含有ID3v1、ID3v2 2.3、ID3v2 2.4、APEv2这4种类型中两种以上的时候,播放器对mp3标签的读取顺序一般是由上往下的,APEv2(前提是播放器支持此编码的读 取)---ID3v2---ID3v1。所以有时候会出现同一文件Rhythmbox显示标签正常(读取APEv2标签),其他播放器不正常的情况(读取 了ID3的标签)。
接着我们说说在Linux系统里,为什么所有的mp3播放器都会有乱码的问题,这是因为这些mp3播放器都是依赖系统内的libid3tag库完全按照 ID3的标准来读取标签内容的。 它不论mp3是采取何种的标准的标签(ID3v1、ID3v2、APEv2),只要mp3的标签的内容是Unicode编码存储的,那么显示肯定是正常的 (ID3v1的ISO-8859-1严格说是不支持中文,但是并不是代表它不能存储中文)。如果遇到是以gbk、gb18030、big5等编码的中文内 容时,它还是会把它当成ISO-8859-1来读取,乱码就成了必然。
说了这么多,现在问题就变得简单了,似乎我们只需要把mp3标签里面用gbk、gb18030、big5等编码存储的中文内容修改为Unicode编码,那么基本上所有Linux下的播放器都能正常识别mp3标签了。
关于mp3编码的转换,这里介绍一个工具----Mutagen,假如你安装了Quod Libet,那么这个包已经安装上去了。如果没有,执行下列命令就可以了。
sudo apt-get install python-mutagen
工具的使用方法
mid3iconv -e gbk *.mp3 #转换当前目录的mp3文件
find . -iname "*.mp3" -execdir mid3iconv -e gbk {} \; #转换当前目录下所有mp3文件(包括子目录)
因为现在在网上下载的mp3绝大多数采用的都是gbk/gb18030编码,-e gbk 参数是代表把gbk编码的标签转换为Unicode编码,假如mp3标签本身是Unicode编码的就不转换。如果需要转换其他编码的文件可以自行修改 gbk参数,比如改为gb18030、big5。转换后为的mp3标签类型为ID3v2 2.4,编码格式为UTF-16。
到了这一步之后,在Linux下使用所有播放器估计都没有什么问题了。
下面我们回过头来看看,追溯一下根源,为什么这些mp3原来在Windows下用Media Player怎么都是显示正常的呢?难道是Linux不如Windows吗?其实这个道理很简单,Firefox同样也打不开很多IE轻松就能打开的页 面,能说明Firefox不如IE吗?知情的人一看就明白了。Windows为了它所谓的兼容性,完全无视规范,自定规则,貌似它的软件兼容性很好,其实 到头来,毁的还是用户,从众多的不符合W3C规范的网页和现在铺天盖地的mp3标签为gbk/gb18030编码就可见一斑(反正我现在从网上下载的 mp3在Linux下就没有看到几个能正常显示的)。
可以告诉大家的是,利用上面的方法转换编码之后,这些mp3在Windows的文件属性菜单和Media Player里都无法正常显示标签,将会全部变为"?"。因为mid3iconv命令在转换编码时默认它会用Unicode编码填满D3v1, ID3v2, APEv2标签(前提是文件本来就含有这些类型的标签),但是 ID3v1 又不支持中文的 Unicode 编码。而Media Player似乎只支持ID3v1的读取,当然你使用其他的支持ID3v2、APEv2类型读取的软件是没有问题的。
这里给大家推荐一个Windows下的mp3播放器---Foobar2000,在以前Windows的生涯中,我一直都是使用的这个播放 器,foobar2000支持全系列标签的读取,更值得称赞的是它默认使用ID3v2 2.4类型UTF-8编码的写入,完全解决了编码方面的问题。
给出一个个人提供的最终解决方案。
1.系统环境完全就是Linux。
直接使用下面的这条命令,转换所有mp3文件,完全无视Windows下的使用体验。
mid3iconv -e gbk *.mp3
当然了,如果你为了避免自己的mp3文件共享给Windows或者mp3的用户时,出现煞风景的"?",你可以添加一个--remove-v1这样一个参数来直接删除ID3v1标签,避免了文件属性和Media Player里出现"?"。
mid3iconv -e gbk *.mp3 --remove-v1
2.系统环境为Windows+Linux的双系统
推荐使用foobar2000播放器,对文件进行mp3标签的编辑,可以在foobar2000里选中所有mp3文件,进行文件标签重 写,foobar2000会把所有标签进行重写,使标签采用ID3v2 2.4类型UTF-8编码的写入,完全解决Windows和Linux下mp3文件的编码问题。这也是比较完美的解决办法。
foobar支持三种标签编码方式 :ID3V1 ID3V2 APEv2将mp3文件用这三种编码都进行转化的话 window
和linux都不会出现乱码或者 ?
foobar编辑标签的功能很强大 标签名字两边加% 比如流派 %genre% 就可以读出来值
转自网络
转载于:https://www.cnblogs.com/haipzm/p/3301945.html
Rhythmbox中文乱码解决办法相关推荐
- pycharm 运行控制台中文乱码解决办法
pycharm 运行控制台中文乱码解决办法
- navicat for mysql 显示中文乱码解决办法
navicat for mysql 显示中文乱码解决办法 最近遇到一个问题,用navicat for mysql 打开数据库时全都显示的是乱码(在用程序代码插入数据之前确保字符不是乱码),遇到问题 ...
- NetBeans中文乱码解决办法
首先来看看网上的一篇文章:http://it.dengchao.org/neatbeans-problem-fedora/linux/ 在Windows和Linux(Fedora/Ubuntu/Red ...
- windows下git bash中文乱码解决办法
一.解决办法1:(直接上图) 1.在git bash下,右键 出现下图,选择options: 2.选择"Text" 3.将"Character set"设置为 ...
- java控制台打印输出 中文乱码 解决办法
java控制台打印输出 中文乱码 解决办法 问题:IDEA控制台打印时出现中文乱码 原因:java资源的编码和ideal的不一致 解决办法: 第一步 1:打开intelliidea安装路径,Intel ...
- Web前端——VScode打开html文件中文乱码解决办法
VScode打开html文件中文乱码解决办法 1.打开VScode后,依次点击 文件 >> 首选项 >> 设置 2.打开设置后,依次点击 文本编辑器 >> 文件(或 ...
- php接受get参数乱码,如何解决php get 参数乱码问题,php中文乱码解决办法
如何解决php get 参数乱码问题如何解决php参数乱码的问题,乱码php获取参数的解决方案:1.使用"iconv ('GB 2312 ',' UTF-8 ',$龚辉):"解决乱 ...
- Qt中文乱码解决办法
目录 一.解决方法: 1. QT4版本 2. QT5版本 二.QString 为什么会乱码呢 三.tr的使用 一.解决方法: 1. QT4版本 中文乱码解决办法是在main.cpp文件加入: #inc ...
- php7 中文乱码_PHP 中文乱码解决办法总结分析
PHP 中文乱码解决办法总结分析 更新时间:2009年07月30日 01:19:43 作者: 总之一句话,要解决PHP中文乱码最好最快的解决办法就是,页面申明的编码与数据库内部编码一致,如果页面申 ...
- mysql数据库 中文乱码_数据库 MySQL中文乱码解决办法总结
MySQL中文乱码解决办法 前言: MySQL是我们项目中非常常用的数据型数据库.但是因为我们需要在数据库保存中文字符,所以经常遇到数据库乱码情况.下面就来介绍一下如何彻底解决数据库中文乱码情况. 1 ...
最新文章
- Vue实现禁止链接打开
- java压缩----使用ANT JDK压缩---只压缩选中目录的指定文件夹
- Oracle数据库优化器的优化方式
- java开发学生管理系统,看这篇足矣了!
- 我见过不少赚了钱,投资孵化一堆店铺的,一般而言后续发展都会出问题的
- anconda使用---使用conda管理python环境
- mysql序列号生成_超详细的mysql数据库GTID介绍—概念、优缺点、原理、生命周期等
- Flutter学习 — 从新页面返回数据给上一个页面
- Why do people love certain websites and web products?
- Android apk快速定位、灰色按钮克星--DroidSword
- iOS-dSYM 文件分析工具
- 【PCB】贴片电容详解
- 查看本地计算机ip命令,查看你本机的IP信息的命令ipconfig详解【图】
- thinkpad卡在logo界面_win7系统开机卡在Thinkpad LOGO画面无法进入桌面的解决方法
- CEO如何选拔和留住数字化人才
- 欧拉筛法筛素数(接近O(n),取模操作稍微慢一点) 4E7之内的素数 Apare_xzc
- 微信开发者工具配置服务器信息,微信开发者中心如何配置
- deployer部署_使用Deployer轻松部署PHP应用程序
- 支持向量机入门到精通
- ubuntu系统搭建steam饥荒联机服务器
热门文章
- vue 路由跳转 外部链接
- python xlrd pandas_Python:Pandas pd.read_excel提供ImportError:为Excel supp安装xlrd = 0.9.0
- Wireshark抓取ping包
- 网站安全性之js注入
- efi安装linux7,使用PXE EFI引导安装RHEL7.3
- 系统命令联网激活方法
- windows dhcp服务器使用脚本批量创建作用域
- [C#学习教程-委托]001.大道至简之委托(代理),匿名函数,Lambda表达式
- Python爬虫:搜狗(微信,知乎)公众号内容
- 新浪邮箱服务器设置,免费的新浪邮箱设置outlook怎么设置?