Internet Explorer usa un juego de caracteres incorrecto cuando representa una página HTML

Importante

La aplicación de escritorio de Internet Explorer 11 se retirará y se retirará de la compatibilidad el 15 de junio de 2022 (para obtener una lista de lo que está en el ámbito, vea las preguntas más frecuentes). Las mismas aplicaciones y sitios de IE11 que usas hoy pueden abrirse en Microsoft Edge con el modo de Internet Explorer. Obtenga más información aquí.

En este artículo se proporcionan los métodos para resolver el problema de que Internet Explorer representa una página HTML mediante el uso del juego de caracteres incorrecto.

Versión del producto original:   Internet Explorer
Número KB original:   928847

Síntomas

Cuando Microsoft Internet Explorer representa una página HTML, usa el juego de caracteres incorrecto. Internet Explorer hace esto a pesar de que el conjunto de caracteres correcto se especifica mediante una META etiqueta en la página HTML.

Por ejemplo, Internet Explorer puede representar una página HTML japonesa mediante el juego de caracteres Shift-JIS incluso cuando UTF-8 se especifica mediante la siguiente etiqueta en META la página HTML:

<META http-equiv=Content-Type content="text/html; charset=utf-8">

Causa

Este problema puede producirse si se cumplen una o varias condiciones siguientes:

  • La opción Selección automática está habilitada en Internet Explorer. Esta configuración ayuda a Internet Explorer a determinar la página de código que se usa para la página HTML.
  • El valor de Configuración regional del sistema difiere del conjunto de caracteres especificado en la META etiqueta.
  • La etiqueta que especifica el conjunto de caracteres no está en el primer fragmento de datos HTML que META analiza MSHTML. Normalmente, esto significa que la etiqueta se encuentra en algún lugar después de los primeros 256 bytes de datos en el resto de los primeros 4 KB de datos.
  • El servidor es un sistema lento o el servidor rompe la primera parte de la respuesta HTTP para que la respuesta no contenga la META etiqueta. Este problema puede producirse si habilita la codificación fragmentada.
  • Cuando Internet Explorer pasa el fragmento inicial que se va a analizar al IMultiLanguage::ConvertStringToUnicode método, Internet Explorer no puede realizar la conversión.

Nota

Hay condiciones adicionales que pueden contribuir a este problema. Estas condiciones adicionales son muy específicas del código y no se enumeran aquí.

Solución

Para solucionar este problema, use uno de los métodos siguientes:

  • Deshabilite la opción Seleccionar automáticamente en Internet Explorer.
  • Proporcione el juego de caracteres en los encabezados HTTP.
  • Mueva la etiqueta a dentro del primer kilobyte de datos que META MSHTML analiza. Aunque no sabemos cuántos datos lee el analizador a la vez, esta ubicación resolverá el problema.
  • Aumente el tamaño de la respuesta HTTP inicial del servidor. El tamaño inicial debe ser de al menos 1 KB.
  • Asegúrese de que la configuración configuración regional del sistema coincida con el conjunto de caracteres de la etiqueta especificada en la página META HTML.