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