Немного про (кривые) кодировки XML
Парочка функций для правильного чтения строк из XML.
- Описание
- Подробнее
Описание
В рамках текущей работы разбираю много файлов XML от внешних информационных систем, читаю обычным парсером ЧтениеXML.
Достаточно часто встречаются кривые файлы, когда кодировка файла — UTF (UTF-8, обычно), а в объявлении файла прописано, что данные в Windows-1251 (имеется тег encoding="windows-1251").
Тогда вместо строки ОАО "ТГК-9" читаем РћРђРћ "ТГК-9" — вот такая бяка…
Как определить, что читаем UTF? В википедии описаны маркеры, с которых начинается файл UTF. На основании этих маркеров написал функцию определения кодировки для случаев, когда данные файла существуют в виде ДвоичныеДанные.

