PRB: C00CE56E HRESULT mensagem de erro "Sistema não suporta a codificação especificada" com MSXML

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática… erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 304625
Sintomas
Quando carrega um documento XML remoto de um servidor Web utilizando XMLHTTP ou IXMLDocument::Load, poderá receber a seguinte mensagem de erro:
HRESULT C00CE56E
Sistema não suporta a codificação especificada.
Este erro é mais prevalecente quando utiliza um âmbito de aplicação de camada intermédia baseada em Java.
Causa
Tal como a versão 2.6, o MSXML passa todos os documentos XML através de Mlang.dll para verificar a sua codificação. Se Mlang.dll encontrar uma cadeia de codificação não padrão, devolve um erro.

"ISO8859_1" é a representação canónica do carácter Latin-1 codificação cadeia nas bibliotecas de idioma e a classe de Java. O padrão que é definido através da Internet Assigned Numbers Authority, no entanto, é "ISO-8859-1", que não é um alias aceite.
Resolução
Para resolver este problema, efectue um dos seguintes procedimentos:
  • Alterar o carácter de codificação de caracteres no ambiente de servidor de Java relevante de "ISO8859_1" para "ISO-8859-1". - ou -

  • Utilização IXMLDOMDocument::get_responseBody Para obter os dados como uma memória intermédia em bruto de bytes. Se estiver a desenvolver a aplicação em Microsoft Visual C++, pode definir um identificador HGLOBAL para os seus dados e utilizar CreateStreamOnHGlobal Para tornar a processar os dados mais fácil.
Ponto Da Situação
Este comportamento ocorre por predefinição.
Referências
Para mais informações, consulte o seguinte Web site:
Registo de conjunto de caracteres da IANA
http://www.IANA.org/assignments/Character-Sets

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 304625 - Última Revisão: 04/08/2016 09:40:00 - Revisão: 2.0

  • kbintl kbprb kbmt KB304625 KbMtpt
Comentários