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

Advertencia

Se ha programado la deshabilitación permanente de la aplicación de escritorio retirada y sin soporte de Internet Explorer 11 a través de una actualización de Microsoft Edge en ciertas versiones de Windows 10. Para obtener más información, consulte Preguntas frecuentes sobre la retirada de la aplicación de escritorio de Internet Explorer 11.

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

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

Síntomas

Cuando Microsoft Internet Explorer representa una página HTML, usa el juego de caracteres incorrecto. Internet Explorer lo hace aunque una etiqueta de la página HTML especifique META el juego de caracteres correcto.

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 META etiqueta en 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 o las siguientes:

  • La opción Seleccionar automáticamente está habilitada en Internet Explorer. Esta configuración ayuda a Internet Explorer a determinar la página de códigos que se usa para la página HTML.
  • La configuración configuración regional del sistema difiere del conjunto de caracteres especificado en la META etiqueta.
  • La META etiqueta que especifica el conjunto de caracteres no está en el primer fragmento de datos HTML analizado por 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 interrumpe 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 configuración De selección automática en Internet Explorer.
  • Proporcione el juego de caracteres en los encabezados HTTP.
  • Mueva la META etiqueta a dentro del primer kilobyte de datos analizado por MSHTML. 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 coincide con el conjunto de caracteres de la META etiqueta especificada en la página HTML.