解决文件名mp3标签和文本文件内容的乱码问题:修订间差异
来自Ubuntu中文
跳到导航跳到搜索
Atsivsucks(留言 | 贡献) 无编辑摘要 |
Atsivsucks(留言 | 贡献) |
||
第5行: | 第5行: | ||
==修改文件法== | ==修改文件法== | ||
=== | ===使用图形界面的EasyTAG工具=== | ||
安装EasyTAG: | |||
sudo apt-get install easytag | sudo apt-get install easytag | ||
* | * 启动EasyTAG | ||
* 找到首选项--ID3标签设置--修改下面两项: | * 找到首选项--ID3标签设置--修改下面两项: | ||
*读取ID3标签时用的字符集,请选择 | *读取ID3标签时用的字符集,请选择 简体中文GBK (繁体的应该是BIG5)。 | ||
* 写入ID3标签时用的字符集,ID3v2和ID3v1.x都选成UTF-8。(注:依照[http://linux-wiki.cn/wiki/Mp3%E6%A0%87%E7%AD%BE%E4%B9%B1%E7%A0%81%E9%97%AE%E9%A2%98%E5%88%86%E6%9E%90%E4%B8%8E%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88 Linux Wiki的原理分析],Id3v1写为GBK编码更合适) | * 写入ID3标签时用的字符集,ID3v2和ID3v1.x都选成UTF-8。(注:依照[http://linux-wiki.cn/wiki/Mp3%E6%A0%87%E7%AD%BE%E4%B9%B1%E7%A0%81%E9%97%AE%E9%A2%98%E5%88%86%E6%9E%90%E4%B8%8E%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88 Linux Wiki的原理分析],Id3v1写为GBK编码更合适) | ||
* | *然后重启EasyTAG, | ||
* 然后在主界面双击你的歌曲目录,保存,以后你的mp3在播放器都能正常显示中文了。 | * 然后在主界面双击你的歌曲目录,保存,以后你的mp3在播放器都能正常显示中文了。 | ||
*该选择和该修改的地方 | *该选择和该修改的地方 |
2013年4月11日 (四) 02:42的版本
从Windows迁移到Ubuntu的用户,往往会发现自己在Windows在创建/下载/保存的音乐文件出现乱码问题。出现这个问题的原因:一些音乐文件的标签的编码不是Ubuntu使用的UTF-8(一种Unicode编码,适用于所有语言),而是简体中文Windows系统使用的是GBK(一种中国国家标准编码,只适用于简体中文)。所以,只要将相应的编码做一下转换就能解决乱码的问题。
命令行解决方案在Ubuntu使用技巧中已被收录。
修改文件法
使用图形界面的EasyTAG工具
安装EasyTAG:
sudo apt-get install easytag
- 启动EasyTAG
- 找到首选项--ID3标签设置--修改下面两项:
- 读取ID3标签时用的字符集,请选择 简体中文GBK (繁体的应该是BIG5)。
- 写入ID3标签时用的字符集,ID3v2和ID3v1.x都选成UTF-8。(注:依照Linux Wiki的原理分析,Id3v1写为GBK编码更合适)
- 然后重启EasyTAG,
- 然后在主界面双击你的歌曲目录,保存,以后你的mp3在播放器都能正常显示中文了。
- 该选择和该修改的地方
对照这个
基于命令行的工具
- 需要用到的工具
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 标签编码(下面方法会导致windows和部分移动设备无法正确识别mp3标签,建议使用mid3tagiconv)
find . -iname "*.mp3" -execdir mid3iconv -e GBK {} \;
注意:保证自己对需转换文件有写权限
修改变量法
使用工具修改标签对于少量文件可以解决乱码问题,但是对于新加入的音乐文件需要重新进行转换。Archlinux的wiki提供了一种修改环境变量的方法值得参考
以用gstreamer做后端的播放器Rhythmbox为例,可以在系统环境变量或用户的环境变量(即在 ~/.profile)中增加如下内容:
export GST_ID3_TAG_ENCODING=GBK:UTF-8:GB18030 export GST_ID3V2_TAG_ENCODING=GBK:UTF-8:GB18030
其他播放器可以参考Archlinux的wiki的其他指导。
注:因为修改环境变量对系统影响较大,用户可以考虑用gedit等编辑器只修改~/.profile,如果修改~/.profile无效,可以考虑修改系统的环境变量/etc/profile(需要管理员权限,请谨慎操作)。