在 Windows 中,每当我遇到非 Unicode 字符显示不正确的情况时(对我来说,俄语(西里尔文)字符通常会显示为古代符文 =),我就会进入区域设置,将俄语设置为非 Unicode 应用程序的系统区域设置,重启后问题就解决了。
在 OS X 中,我在 iTunes 中添加了一张俄罗斯乐队的音乐专辑,但所有文本字符串(一些名字)都显示不正确。总体而言,iTunes 中的所有其他俄罗斯专辑都显示正确。
哪里可以调整我的 OS X 以完全显示俄语?
答案1
这不是你的操作系统,而是 iTunes 搞乱了一切。你面临的问题是因为你的 ID3 标签中的西里尔字母没有被编码为 Unicode 符号,而是使用了某种编码——通常是 win1251,但你也可以看到 koi8-r 甚至一些奇特的字母。
因此,您需要做的是将 mp3 文件中的原始 ID2/ID3 标签转码为 Unicode,然后将您的专辑重新导入 iTunes(仅识别 Unicode)。
这里您可以找到一个用于此目的的 Python 脚本。每个 OS X 系统都基于 Darwin 并预装了 Python,因此您只需下载它(可能还有依赖项)并从控制台启动,并使用正确的路径指向您的音乐收藏。不过,我建议在运行任何工具之前备份您的音乐收藏。
答案2
最好这样说,iTunes 不支持旧式编码,并且曲目创作者也不应该使用旧式编码 :)
谢谢你,亚历山大,对于脚本链接!对于 Lion 用户,简短的安装说明:我的 OS X 10.7 默认没有 python-chardet 和 python-eyed3。因此以下步骤有效(也许您也可以用更少的步骤来完成)。
sudo easy-install chardet
工作正常,但 >sudo easy-install eyed3 不适用于实际的 0.6.17,也许它以后会起作用。
sudo easy-install pip
sudo pip install eyed3
*(0.6.17 安装错误,请忽略)
cd build
cd eyed3
chmod a+x configure
./configure
cd ..
cd ..
sudo pip install eyed3 --no-download
现在您可以重新编码了:
chmod a+x id3_to_unicode_1.1.py
./id3_to_unicode_1.1.py /Users/<your_user>/Music/iTunes/iTunes\ Media/Music -ru