Как автоматически определить что текст в неверной кодировке?

Имеется база данных в которую пишет данные сторонняя программа, поставлена задача брать из нее данные для отчетов. В общем все написано и работает кроме одного неудобного момента, в таблице периодически сохраняется текст в неверной кодировке, тоесть выглядит он то так Microsoft PowerPoint - Презентация ремонты то вот так
Закупка ноябрь расходники.docx
и лечится обычным перекодированием из 1251 в utf.
Вопорос, как автоматически определять что текст сохранен неверно кроме как проверять в нем наличие символов °ЂЃ? Может есть другой, более грамотный способ?
  • Вопрос задан
  • 222 просмотра
Решения вопроса 1
arxont
@arxont
C# программист
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@d-stream
Готовые решения - не подаю, но...
Например можно подсмотреть реализацию автодетекта кодировок в far manager. Ну или погуглить подобное. Обычно хранят статистически характерные коды символов - начинают читать файл до более-менее однозначного получения статистики и предполагают кодировку. far определяет кодировку достаточно успешно в большинстве случаев.

ну или когда есть некие хинты типа начинается файл с русского текста - то можно тупо считать количество попадающих в список русских букв символов в нескольких вариантах перекодирования)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы