Многие из нас пользуются Windows в которых мы по тем или иным причинам не можем выставить в параметре "Current language for non-Unicode programs" - русский язык. Это чревато многими неудобствами в частности неправильное отображение тегов к mp3 и другим музыкальным файлам. В этой статье я предлагаю метод как можно исправить cue sheet файлы, которые идут вместе с образом диска и теги mp3, так чтобы информация в них показывалась в любой системе независимо от параметра "Current language for non-Unicode programs". Секрет к успеху лежит в перекодировке метаданных в Unicode. Если Вам интересно то прошу под кат.
Начну от простого к сложному, с cue sheet.
Cue sheet это обычный текстовый файл и чтобы плеер его нормально отображал в любой системе необходимо его открыть в текстовом редакторе который сможет понять его нынешнюю кодировку и перекодировать в Unicode, я для этой цели выбрал
notepad++.
1. Открываете файл с помощью notepad++
2. Выбираете нужную кодировку: Encoding -> Character sets
3. Необходимо проверить, что параметр FILE совпадает с реальным названием файла на диске, иначе программа не сможет его найти.
4. Конвертируете в Unicode: Encoding -> Convert to UTF-8
5. Сохраняем и наслаждаемся корректно отображенными тегами, а не кракозябрами.
Теперь mp3 файлы.
Для этой цели нам понадобится плеер
foobar2000 с плагином
foo_chacon для исправления мета-данных в mp3 и перекодирования с ID3v1 которые не поддерживают Unicode в ID3v2.3
1. В foobar2000 мы заходим в File -> Preferences -> Advanced -> Tagging -> MP3 и отмечаем опцию ID3v2 writer compatibility mode. Дело в том, что Windows не корректно работает с ID3v2.4 тегами которые по умолчанию foobar2000 прописывает и поэтому даже если в foobar2000 у Вас будет все корректно изображаться, то в окне браузера у вас будут вопросительные знаки вместо русских букв. С включенным compatibility mode теги будут прописываться в формате ID3v2.3 у которого есть свои недостатки (
подробнее здесь на английском) , но отображаться они будут верно.
2. Открываем все папки с "проблемными" mp3 в foobar2000
3. Выделяем те файлы у которых похожие кроказябры (для непохожих кроказябр скорее всего значения кодировки будут различные) и заходим в меню исправления мета-данных плагина foo_chacon: right click на выделенных файлах -> Tagging -> Fix Metadata Charset
4. Здесь нам нужно выбрать какая была оригинальная кодировка в Original charset, для русского языка это обычно 1251 - ANSI Cyrillic
5. Если мы все еще не видим русские буквы то необходимо подобрать правильный параметр в меню "Preconversion", насколько я понимаю здесь мы выбираем какой был параметр "Current language for non-Unicode programs" в системе в которой происходила первоначальная кодировка тэгов. Для тех кто владеет английским
здесь Вы можете прочитать оригинальный мануал автора.
6. Все, после этого у Вас должно все отображаться правильно, foobar2000 уже сохранил исправленные значения на диск.
7. Это подходит не только для русского, но и для других языков, которые поддерживаются в Unicode.