HRESULT C00CE56E сообщение об ошибке "Система не поддерживает указанную кодировку" с MSXML
Эта статья поможет устранить проблему, из-за System Does Not Support the Specified Encoding
C00CE56E сообщение об ошибке HRESULT с помощью MSXML.
Исходная версия продукта: Microsoft XML
Исходный номер базы знаний: 304625
Симптомы
При загрузке удаленного XML-документа с веб-сервера с помощью XMLHTTP или XMLDocument::Load может появилось следующее сообщение об ошибке:
HRESULT C00CE56E
Система не поддерживает указанную кодировку.
Эта ошибка наиболее распространена при использовании платформы приложений среднего уровня на основе Java.
Причина
Начиная с версии 2.6, MSXML передает все XML-документы через Mlang.dll для проверки их кодирования. Если Mlang.dll встречает нестандартную строку кодирования, она возвращает ошибку.
"ISO8859_1" — это каноническое представление строки кодировки символов latin-1 в библиотеках языка Java и классов. Тем не менее, стандарт, определенный Центром по назначенным в Интернете номерам, — "ISO-8859-1", который не является допустимым псевдонимом.
Решение
Чтобы устранить эту проблему, выполните одно из следующих действий.
Измените строку кодировки символов в соответствующей серверной среде Java с ISO8859_1 на ISO-8859-1.
Используйте
IXMLDOMDocument::get_responseBody
для получения данных в качестве необработанного буфера байтов. Если вы разрабатываете приложение в Microsoft Visual C++, вы можете определить дескриптор HGLOBAL для данных и использоватьCreateStreamOnHGlobal
, чтобы упростить обработку данных.
Ссылки
Дополнительные сведения см. в разделе Наборы символов.