У нас есть CMS, в которой есть несколько тысяч текстовых/html файлов. Оказывается, пользователи загружали файлы text/html, используя различные кодировки символов (utf-8, utf-8 w BOM, windows 1252, iso-8859-1).
Когда эти файлы считываются и записываются в ответ, наша структура CMS принудительно устанавливает charset=UTF-8 в атрибуте типа содержимого ответа.
Из-за этого любой контент, отличный от UTF-8, отображается для пользователя с искаженными символами (?, черными ромбами и т. д., когда нет правильного перевода символов из «родной» кодировки символов в UTF-8). Кроме того, к этим документам не прикреплены метаданные, указывающие кодировку. Насколько мне известно, единственный способ узнать, какая у них кодировка, — это посмотреть на них в приложении для рендеринга текста (Firefox, Notepadd++ и т. д.) и «посмотреть». " на содержание, чтобы увидеть, "выглядит" ли оно правильно.
Кто-нибудь знает, как автоматически/разумно преобразовывать файлы неизвестной кодировки в UTF-8? Я читал, что это можно сделать с помощью статистического моделирования, но это выше моей головы.
Мысли о том, как лучше всего подойти к проблеме?
Спасибо