In Windows, whenever I am facing an incorrect display of non-unicode characters (for me usually Russian (Cyrillic) characters may get displayed as ancient runes =), I go to regional settings, set Russian as a System Locale for Non-Unicode applications and the problem is solved after restart.

In OS X, in iTunes, I have added a music album by Russian band, and all the text string (sone names) are displayed incorrectly. Overall all other russian albums in iTunes are getting displayed correctly.

Where can I tune up my OS X to diaplay Russian all the way?

  • Is there an easier way to use this than learning to use python? Apple script or an automator action? – user112793 Jan 9 '12 at 9:22

It is not your OS, it is iTunes that messes the things up. The problem you're facing is because the cyrillic letters are not encoded as Unicode symbols in your ID3 tags, but rather using certain Encoding -- normally it is win1251, but you can also see koi8-r and even the exotic ones.

So whatyou have to do is to transcode your original ID2/ID3 tags in your mp3 files into Unicode and then re-import your albums into iTunes (that understands only Unicode).

Here you can find a Python script for this purpose. Every OS X system is based upon Darwin and have Python pre-installed, so you only have to download it (and probably the dependecies) and start from your console with correct path to your music collection. I would, nonetheless, recommend to backup your music collection before running any tools on it.


It's better to say, that iTunes doesn't support legacy encodings, and the persons who authors tracks should not use legacy encodings either :)

Thank you, Alexander, for the script-link! For Lion users the short installation instructions: My OS X 10.7 did not have python-chardet and python-eyed3 per default. So following steps worked (perhaps you can do it with less steps either).

sudo easy-install chardet

worked fine, but >sudo easy-install eyed3 not with actual 0.6.17, perhaps it will work later on.

sudo easy-install pip
sudo pip install eyed3

*(installation error with 0.6.17, ignore it)

cd build
cd eyed3
chmod a+x configure
cd ..
cd ..
sudo pip install eyed3 --no-download

now you are ready to recode like:

chmod a+x id3_to_unicode_1.1.py 

./id3_to_unicode_1.1.py /Users/<your_user>/Music/iTunes/iTunes\ Media/Music -ru
  • oh, a actually wanted to comment the previous commenter (Alexander). That's the update on using the mentioned python script:) – Alexei Vinogradov Dec 21 '11 at 19:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.