Исправление кодировки
В библиотеке MediaInfo существует проблема, возникающая на файлах с ID3-тегом, в котором строки сохранены в ANSI-кодировке, отличной от ISO 8859-1. Официальная спецификация тега позволяет использовать только кодировку ISO 8859-1 или Юникод, однако раньше многие программы игнорировали требования спецификации и сохраняли теги в локальных ANSI-кодировках. Библиотека MediaInfo строго следует спецификациям тега и перекодирует ANSI-строки с принудительным применением кодовой страницы ISO 8859-1, что, однако, на неправильно сохраненных тегах приводит к отображению искаженного текста.
Поскольку автор MediaInfo отказался делать какие-либо опции для настройки перекодирования тегов, в плагине применён свой метод, позволяющий исправить отображение текста из таких тегов. Текст, который будет определён как некорректный, будет декодирован с вашей локальной системной ANSI-кодировкой. Разумеется, если текст был сохранён в кодировке, отличной от вашей системной, он может быть по-прежнему нечитаем.
К сожалению, не имея доступа к исходному тексту тега, метод не гарантирует правильность определения кодировки. Теги, содержащие символы западноевропейских языков (например, немецкого) могут быть искажены, причём это возможно и для корректно записанных тегов ID3, и для тегов других форматов.
Механизм исправления по умолчанию выключен и включается опцией FixTagEncoding. В целях уменьшения влияния исправления на скорость работы плагина, поля, для которых будет производиться исправление, должны быть указаны явно. Для этого применяются следующие методы:
- для WDX — указание process="fix_cp" в узле источников;
- для WLX — перечисление полей в функции FixCodepage.
Настоятельно рекомендуется не использовать функционал исправления кодировки, а исправить некорректно закодированные теги в ваших файлах.