Internet Explorer usa un juego de caracteres incorrecto cuando representa una página HTML
Importante
La aplicación de escritorio Internet Explorer 11 está retirada y sin soporte a partir del 15 de junio de 2022 para determinadas versiones de Windows 10.
Todavía puede acceder a sitios antiguos heredados que requieren Internet Explorer con el modo Internet Explorer en Microsoft Edge. Obtenga más información.
La aplicación de escritorio Internet Explorer 11 se redirigirá progresivamente al explorador Microsoft Edge, más rápido y seguro. En última instancia, se deshabilitará a través de Windows Update. Deshabilite IE hoy.
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
METAetiqueta. - La etiqueta que especifica el conjunto de caracteres no está en el primer fragmento de datos HTML que
METAanaliza 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
METAetiqueta. Este problema puede producirse si habilita la codificación fragmentada. - Cuando Internet Explorer pasa el fragmento inicial que se va a analizar al
IMultiLanguage::ConvertStringToUnicodemé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
METAMSHTML 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
METAHTML.