Инструменты пользователя

Инструменты сайта


ru:tcmediainfo:documentation:script_fixcp

FixCodepage

Специальная функция, задающая список полей, к которым будет применено исправление кодировки.

FixCodepage(FieldID1 [, FieldID2 .. [, FieldIDN]])
FieldID1..NИдентификатор поля библиотеки, к которому должно применяться исправление.

Функция не возвращает значений.

Примечания

Проблема, для исправления которой предназначена функция, возникает на файлах с ID3-тегом, в котором строки сохранены в ANSI-кодировке, отличной от ISO 8859-1. Официальная спецификация тега позволяет использовать только кодировку ISO 8859-1 или Юникод, однако раньше многие программы игнорировали требования спецификации и сохраняли теги в локальных ANSI-кодировках. Библиотека MediaInfo строго следует спецификациям тега и перекодирует ANSI-строки с принудительным применением кодовой страницы ISO 8859-1, что, однако, на неправильно сохраненных тегах приводит к отображению искаженного текста.

К сожалению, автор MediaInfo отказался делать какие-либо опции для настройки перекодирования тегов. Примененный в плагине метод определения того, в каком виде библиотека будет возвращать данные тегов, не самый красивый и быстрый. Поэтому неразумно применять механизм исправления ко всем полям. Перечисляйте в этой функции только те поля, где может возвращаться искаженная кодировка (обычно это название, автор и т.д.). Функция должна вызываться до любого использования этих полей. Действие функции сохраняется до конца скрипта.

Текст, который функция определит как некорректный, будет декодирован с вашей локальной системной ANSI-кодировкой. Разумеется, если текст был сохранен в кодировке, отличной от вашей системной, текст может быть по-прежнему нечитаем.

ru/tcmediainfo/documentation/script_fixcp.txt · Последнее изменение: 2019/08/19 22:21 — loopback

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki