Я получаю файл XML с кодировкой «ISO-8859-1» (Latin-1)
В файле (среди других тегов) у меня есть <OtherText>Example "content" And ─</OtherText>
Теперь по какой-то причине, когда я загружаю это в XMLTextReader и выполняю «XmlReader.Value», чтобы вернуть значение, он возвращает: «content» И ─
Это тогда, когда сталкивается с базой данных, принимающей только кодировку Latin-1, очевидно ошибки.
Я пробовал следующее:
- Преобразование в байты и использование
Encoding.Convert для изменения из UTF-8
в латынь-1 (который успешно
дает мне кучу "?" вместо этого)
- Использование
StreamReader (файл, кодирование. любой )
загрузить файл в XmlTextReader
И несколько вариантов и различных методов в Интернете и на StackOverflow istelf.
Я понимаю, что строки .NET - это UTF-16, но я не понимаю, почему XML-файл, полностью отформатированный в формате Latin-1, с ПРАВИЛЬНОЙ разметкой для символов UTF-8, который совместим со старыми базами данных И web (для разметки HTML и т. д.), что он просто переопределяет это и выводит в любом случае строку в кодировке UTF-8.
Есть ли сейчас способ обойти это, кроме написания моего собственного анализатора текста ???