首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | HR | 镜像
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>linux基础>软件应用>正文

Linux系统下Mp3标签乱码问题的分析和解决

http://www.oklinux.cn  2007-07-25  赛迪网 sixth  会员收藏  游客收藏  【 】 
您查看的文章来源于http://www.oklinux.cn

相信很多朋友在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

 

工具的使用方法

共2页: 上一页 1 [2] 下一页

上一篇:Linux操作系统的内核编译步骤   下一篇:Linux系统文件格式转换实用技巧

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·Linux系统Iptables规则执行顺序详细讲解
·Linux极品内存检测软件 Memtest86
·Linux应用程序的安装与管理技巧
·Fedora 7下常用软件及字体的安装方法介绍
·Ubuntu/debian操作系统下安装xfce-4.4.
·Linux环境下看流媒体的方法介绍
·Ubuntu操作系统下各种输入法使用全接触
·Linux下的星际译王Stardict的安装方法
·Ubuntu Linux系统上安装IE浏览器的方法
·Linux操作系统下aMule工具配置实用技巧
·Linux下推荐的应用程序列表介绍
·Linux下的RSS阅读器详细使用说明
·Linux操作系统命令行下的BT软件详细讲解
·LumaQQ的安装和使用详细介绍
·Linux中极为不错的声卡工具Aumix
·驯服火狐(firefox):Linux下Firefox文件配置技巧
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·Opera 10.10 Beta 1 引入 Opera Unite
·Thumbak: 自动备份优盘
·Ubun-student: 安装/删除学生用的软件
·VirtualBox 更新至 3.0.8
·BKO: 通过 HTTP 启动 Linux
·偷看最终版 GNOME Shell 1
·Plasma video wallpaper: KDE 4 视频壁
·KDocker 4.0 发布
·KOffice 2.1 beta 2 发布
·LXDE 增加新的 LXDM 组件
·Sun VirtualBox 3.0.6 发布
·Fedora 显卡驱动测试周:Intel,AMD/ATi
  阅读排行
· Oracle 10g for ubuntu 安装指南
· linux下查看进程/线程
·Tcpdump:Linux下基于命令行的抓包工具
·Linux系统下大词典Stardict详细介绍
·基于libmad 的简单MP3流媒体播放器的实
· 下BT聊QQ !PS3安装Linux ubuntu 7.10
·Linux下tar bz gz等压缩包的压缩和解压
·Wine的安装配置
·Linux 下的五笔输入法 Fcitx安装过程
·平铺式窗口管理器——Awesome
·Squid日志分析软件Sarg的安装及使用技
·Linux 上的数据可视化工具
·LyX中文排版软件的安装及使用简介
·嵌入式Linux 中的应用中的GTK+
·让firefox下播放mms,rstp流媒体,打开其
网摘收藏: