如何在 Linux 上转换 MP3 ID3 标签编码如何在 Linux 上转换 MP3 ID3 标签编码如何在 Linux 上转换 MP3 ID3 标签编码如何在 Linux 上转换 MP3 ID3 标签编码
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Linux 上转换 MP3 ID3 标签编码

问题:当我在 Rhythmbox 音乐播放器上加载 MP3 文件时,歌曲标题和艺术家姓名显示为乱码且不可读的字符。我怀疑这是 ID3 标签的字符编码问题。我该如何解决这个问题?

如果您的音乐播放器无法正确显示某些 MP3 曲目(例如,带有乱码),则很可能您的 Linux 系统不支持 ID3 标签的字符编码。当歌曲标题或艺术家姓名以西里尔文、希腊文、中文、日文或韩文字符书写时,您经常会遇到此问题。

为了解决这个问题,需要将ID3标签的字符编码转换为UTF-8/Unicode。可以执行此类转换的工具是 mid3iconv 命令行工具。使用 mid3iconv,您可以将 ID3 标记从任意字符编码转换为 Unicode。

在 Linux 上安装 mid3iconv

mid3iconv 工具是 python-mutagen 软件包的一部分,该软件包在主要 Linux 平台上普遍可用。

对于 Debian、Ubuntu 或 Linux Mint:


$ sudo apt-get install python-mutagen

对于 CentOS、Fedora 或 RHEL:


$ sudo yum install python-mutagen

使用 mid3iconv 转换 ID3 字符编码

mid3iconv 的典型命令行用法如下。


$ mid3iconv -e <source-encoding> -d input.mp3

上述命令将输入 MP3 文件的 ID3 标签的字符编码从 转换为 Unicode。如果您想“空运行”转换而不实际修改 MP3 文件,您可以添加 -p 选项。

例如,要将 ID3 的字符编码从 CP1252 转换为 UTF-8/Unicode:


$ mid3iconv -e CP1251 -d input.mp3

如果没有 -p 选项,转换后的 ID3 标签将被覆盖到输入 MP3 文件中。

修复 MP3 歌曲标题和艺术家姓名中的损坏字符

现在让我们尝试使用 mid3iconv 修复 MP3 ID3 标签中的损坏字符。

您需要做的第一件事是识别 MP3 文件使用的字符编码。如果您知道它们来自哪里,您也许能够猜测它们的字符编码。例如,如果 MP3 文件是日语歌曲,则编码可能是 Shift-JIS 或 EUC-JP,而中文歌曲可能是 GB 2312 或 GBK 等编码。如果您不确定,可以使用 mid3iconv 的“dry-run”选项来查找。

也就是说,从以下选项中选择任何编码:


$ iconv --list

并应用转换(使用“试运行”选项):


$ mid3iconv -p -d e <source-encoding> input.mp3

如果输出可读,则意味着您正确猜测了源编码。

一旦您知道 MP3 文件使用的 ID3 编码,请使用以下命令批量转换所有 MP3 文件的 ID3 字符编码。


$ find . -name "*mp3" -print0 | xargs -0 mid3iconv -e <source-encoding> -d

例如,如果 MP3 歌曲的 ID 标签使用 EUC-KR(韩语字符)编码,请使用以下命令修复损坏的字符。


$ find . -name "*mp3" -print0 | xargs -0 mid3iconv -e EUR-KR -d

验证 MP3 文件是否正确显示。

©2015-2025 艾丽卡 support@alaica.com