O Explorer da Internet usa um conjunto de caracteres errado quando renderiza uma página HTML
Aviso
O aplicativo da área de trabalho desativado e sem suporte do Internet Explorer 11 está programado para ser desativado permanentemente por meio de uma atualização do Microsoft Edge em certas versões do Windows 10. Para obter mais informações, consulte Perguntas frequentes sobre a desativação do aplicativo de área de trabalho do Internet Explorer 11.
Este artigo fornece os métodos para você resolver o problema que a Internet Explorer renderiza uma página HTML usando o conjunto de caracteres incorreto.
Versão original do produto: Internet Explorer
Número de KB original: 928847
Sintomas
Quando o Microsoft Internet Explorer renderiza uma página HTML, ele usa o conjunto de caracteres errado. O Explorer da Internet faz isso mesmo que o conjunto de caracteres correto seja especificado por uma META
marca na página HTML.
Por exemplo, a Internet Explorer pode renderizar uma página HTML japonesa usando o conjunto de caracteres Shift-JIS mesmo quando UTF-8 é especificado pela seguinte META
marca na página HTML:
<META http-equiv=Content-Type content="text/html; charset=utf-8">
Motivo
Esse problema poderá ocorrer se uma ou mais ou as seguintes condições forem verdadeiras:
- A configuração Selecionar Automaticamente está habilitada no Explorer da Internet. Essa configuração ajuda o Explorer da Internet a determinar a página de código usada para a página HTML.
- A configuração de Localidade do Sistema difere do conjunto de caracteres especificado na
META
marca. - A
META
marca que especifica o conjunto de caracteres não está na primeira parte dos dados HTML analisados pelo MSHTML. Normalmente, isso significa que a marca está localizada em algum lugar após os primeiros 256 bytes de dados em até o restante dos primeiros 4 KB de dados. - O servidor é um sistema lento ou o servidor quebra a primeira parte da resposta HTTP para que a resposta não contenha a
META
marca. Esse problema poderá ocorrer se você habilitar a codificação em partes. - Quando o Explorer da Internet passa a parte inicial a ser analisada para o método, Explorer
IMultiLanguage::ConvertStringToUnicode
da Internet não pode executar a conversão.
Observação
Há condições adicionais que podem contribuir para esse problema. Essas condições adicionais são muito específicas de código e não estão listadas aqui.
Resolução
Para resolver esse problema, use um dos seguintes métodos:
- Desabilite a configuração Selecionar Automaticamente no Explorer da Internet.
- Forneça o conjunto de caracteres nos cabeçalhos HTTP.
- Mova a
META
marca para dentro do primeiro quilobyte de dados analisados pelo MSHTML. Embora não saibamos quantos dados o analisador lê por vez, esse local resolve o problema. - Aumente o tamanho da resposta HTTP inicial do servidor. O tamanho inicial deve ser de pelo menos 1 KB.
- Verifique se a configuração do System Locale corresponde ao conjunto de caracteres da
META
marca especificada na página HTML.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários