HRESULT C00CE56E messaggio di errore 'System Does Not Support the Specified Encoding' con MSXML
Questo articolo consente di risolvere il problema che HRESULT C00CE56E messaggio di System Does Not Support the Specified Encoding
errore con MSXML.
Versione originale del prodotto: Microsoft XML
Numero KB originale: 304625
Sintomi
Quando si carica un documento XML remoto da un server Web usando XMLHTTP o XMLDocument::Load, è possibile che venga visualizzato il messaggio di errore seguente:
HRESULT C00CE56E
Il sistema non supporta la codifica specificata.
Questo errore è più diffuso quando si usa un framework dell'applicazione di livello intermedio basato su Java.
Causa
A partire dalla versione 2.6, MSXML passa tutti i documenti XML attraverso Mlang.dll per verificarne la codifica. Se Mlang.dll rileva una stringa di codifica non standard, restituisce un errore.
'ISO8859_1' è la rappresentazione canonica della stringa di codifica dei caratteri Latin-1 nel linguaggio Java e nelle librerie di classi. Lo standard definito da Internet Assigned Numbers Authority, tuttavia, è "ISO-8859-1", che non è un alias accettato.
Risoluzione
Per risolvere questo problema, eseguire una delle seguenti operazioni:
Modificare la stringa di codifica dei caratteri nell'ambiente server Java pertinente da 'ISO8859_1' a 'ISO-8859-1'.
Usare
IXMLDOMDocument::get_responseBody
per recuperare i dati come buffer non elaborato di byte. Se si sviluppa l'applicazione in Microsoft Visual C++, è possibile definire un handle HGLOBAL per i dati e usarloCreateStreamOnHGlobal
per semplificare l'elaborazione dei dati.
Riferimenti
Per altre informazioni, vedere Set di caratteri.