HRESULT C00CE56E Fehlermeldung "System unterstützt die angegebene Codierung nicht" mit MSXML

Dieser Artikel hilft Ihnen, das Problem zu beheben, dass HRESULT C00CE56E System Does Not Support the Specified Encoding Fehlermeldung mit MSXML.

Ursprüngliche Produktversion: Microsoft XML
Ursprüngliche KB-Nummer: 304625

Problembeschreibung

Wenn Sie ein XML-Remotedokument von einem Webserver mithilfe von XMLHTTP oder XMLDocument::Load laden, wird möglicherweise die folgende Fehlermeldung angezeigt:

HRESULT-C00CE56E
Das System unterstützt die angegebene Codierung nicht.

Dieser Fehler tritt am häufigsten auf, wenn Sie ein Java-basiertes Anwendungsframework der mittleren Ebene verwenden.

Ursache

Ab Version 2.6 übergibt MSXML alle XML-Dokumente über Mlang.dll, um deren Codierung zu überprüfen. Wenn Mlang.dll eine nicht standardmäßige Codierungszeichenfolge findet, wird ein Fehler zurückgegeben.

"ISO8859_1" ist die kanonische Darstellung der Codierungszeichenfolge latin-1 in der Java-Sprache und den Klassenbibliotheken. Der standard, der von der Internet Assigned Numbers Authority definiert wird, ist jedoch "ISO-8859-1", was kein akzeptierter Alias ist.

Fehlerbehebung

Führen Sie zum Beheben dieses Problems einen der folgenden Schritte aus:

  • Ändern Sie die Zeichencodierungszeichenfolge in der relevanten Java-Serverumgebung von "ISO8859_1" in "ISO-8859-1".

  • Verwenden Sie IXMLDOMDocument::get_responseBody , um die Daten als unformatierten Bytepuffer abzurufen. Wenn Sie die Anwendung in Microsoft Visual C++ entwickeln, können Sie ein HGLOBAL-Handle für Ihre Daten definieren und verwendenCreateStreamOnHGlobal, um die Verarbeitung der Daten zu vereinfachen.

References

Weitere Informationen finden Sie unter Zeichensätze.