2009-09-09 3 views
0

Я класс, содержащий несколько свойств строки типа. Одно из значений содержит символ шестнадцатеричного значения 96. Если я сериализую класс в xml, сериализатор XML не кодирует этот символ, и если я рассматриваю xml в различных инструментах, таких как IE или SQLServer с OpenXML, он жалуется, что символ недействителен в документе xml. Должен ли кодировщик xml кодировать этот символ?.net xml serializer не кодирует некоторые символы

+0

Какую кодировку вы используете? –

+0

И почему вы чувствуете, что это должно было закодировать этот символ? Это абсолютно правильный символ Юникода. –

ответ

0

Я смог обойти ошибку, изменив кодировку на iso-8859-1. В моем случае эта кодовая страница включала все символы, которые мои данные потребляли. Я думаю, что теоретически возможно, что данные содержат другие символы, но это подходящая работа.

1

Это может помочь (нюанс - найти с помощью поисковой системы, непроверенный): .NET Web Services Fail on Unicode Control chars

В основном это говорит о том, что XmlSerializer терпит неудачу на десериализацию Unicode символов управления.

В комментариях один из плакатов ссылается на Hexadecimal value 0x is an invalid character. 0x96 там не указано, поэтому я не уверен, что это та же проблема.

Смежные вопросы