个人工具

解决文件名mp3标签和文本文件内容的乱码问题

来自Ubuntu中文

Zhexuezhuzi讨论 | 贡献2010年1月22日 (五) 11:43的版本 工具

跳转至: 导航, 搜索

从windows转移到ubuntu的用户,常常会发现自己在windows在创建/下载/保存的文件经常性出现乱码问题(kubuntu出现问题的可能性更高一些)。而使用默认播放器打开以往的音乐文件(mp3等)时,出现乱码的机会更是接近100%。出现这个问题是因为文件或是文件标签编码并不是系统默认的UTF8,而windows系统默认使用的是GBK。只要将文件编码做一下转换就解决乱码的问题。

这些问题的解决方案在ubuntu使用技巧中已被收录。

修改文件法

图形界面的工具

1. 使用easytag搞定MP3乱码 安装方法:

sudo apt-get install easytag exfalso
  • 点击“应用程序”打开easytag
  • 在首选项浏览器指定你的mp3目录
  • ID3标签设置选简体中文
  • 写入ID3v2标签也都勾选UTF-8Easytag-首选项.png
  • 然后重启easytag,
  • 然后在主界面双击你的歌曲目录,保存,以后你的mp3在播放器都能显示中文的了。

2. 小K是一个 Linux 环境下音乐 mp3 文件歌名乱码编码转换软件,用以解决音乐文件标签信息乱码的问题,目前最新版本为 0.1。软件基于 Qt4 库,大小仅 64 kb,有中文界面。

使用方法:

  1. 导入希望转换编码的文件。可以导入多个文件,或者导入一个目录。
  2. 选择目标编码,直到转换成功。
  3. 写入文件。注意,此操作不可逆。

已经可以被音乐播放软件正常显示的歌曲请不再尝试再转换成其他编码。

软件依赖以下库:

  • libqt4-core
  • libqt4-gui
  • libtag.so.1 (Ubuntu Kubuntu 已自带)

安装方法:

sudo apt-get install libqt4-core libqt4-gui

注意事项: easytag并非万能,在修改之前,最好先在把音乐文件名改为方便识别的形式,比如:“歌手名字 - 曲目名称“,这些可以用”千千静听“一类的软件来实现。这样即使在修改后出现乱码时也有一个补救的机会。 用wine中的winamp播放也是一个不错的选择。

基于命令行的工具

  • 需要用到的工具
 sudo apt-get install convmv iconv python-mutagen

要转换文件编码请先进入要转换文件的目录

  • 转换文件名由GBK为UTF8
 convmv -r -f cp936 -t utf8 --notest --nosmart *
  • 转换文件内容由GBK到UTF8
 iconv -f gbk -t utf8 $i > newfile 
  • 转换 mp3 标签编码
 find . -iname "*.mp3" -execdir mid3iconv -e GBK {} \;

注意:保证自己对需转换文件有写权限

修改变量法

使用工具修改标签对于少量文件可以解决乱码问题,但是对于新加入的音乐文件需要重新进行转换。Archlinux的wiki提供了一种修改环境变量的方法值得参考

对于所有用gstreamer做后端的播放器,如Rhythmbox,可以在系统环境变量或用户的环境变量中增加如下内容:

 export GST_ID3_TAG_ENCODING=GBK:UTF-8:GB18030
 export GST_ID3V2_TAG_ENCODING=GBK:UTF-8:GB18030

注:因为修改环境变量对系统影响较大,用户可以考虑用gedit等编辑器只修改~/.profile,如果修改~/.profile无效,可以考虑修改系统的环境变量/etc/profile(需要管理员权限,请谨慎操作)。