inclusiones del lado del servidor y encoding de caracteres

Creé un sitio web estático en el que cada página tiene la siguiente estructura:

  1. Cosas comunes como encabezado, menú, etc.
  2. Página específica en el contenido principal div
  3. Pie de página

En este sitio web, todo el contenido común se duplica en cada página. Para mejorar la capacidad de mantenimiento refactoreé las páginas para usar las inclusiones del lado del servidor (SSI) para que el contenido común no se duplique. La estructura de cada página es ahora

  1. SSI para cosas comunes como encabezado, menú, etc.
  2. Página específica en el contenido principal div
  3. SSI para pie de página

En el sitio refactorizado, por alguna razón, los caracteres franceses ya no se muestran correctamente en el área de contenido específico de la página, aunque se muestran bien en el contenido incluido a través de SSI.

El encabezado incluido especifica el conjunto de caracteres como:

 

Si abro una de las principales páginas de contenido en un navegador, me dice que la encoding de caracteres es ISO-8859-1. Intenté agregar un archivo .htaccess a la carpeta con las líneas

 AddDefaultCharset UTF-8 AddCharset UTF-8 .shtml AddCharset UTF-8 .html 

Pero aún esos molestos acentos franceses no se muestran correctamente en la versión del sitio que usa SSI.

Usted está publicando sus páginas como UTF-8, lo cual es bueno, pero al menos parte de la página se está arrastrando desde archivos que no se guardan realmente como UTF-8. SSI simplemente arroja los bytes sin formato, no intenta recodificar los includes para que sus charsets coincidan con el archivo en el que se están incluyendo.

Necesita revisar todo su html e incluir archivos en un editor de texto y asegurarse de que cada uno se guarde como UTF-8.

Como mencionó John, puede evitar problemas de encoding mediante el uso de referencias de caracteres para todos los caracteres que no sean ASCII, pero es un dolor tremendo.

Su documento HTML usa encoding UTF-8, pruebe estos códigos de caracteres para sus letras acentuadas: http://www.tony-franks.co.uk/UTF-8.htm

Tuve el mismo problema que tú y finalmente encontré una solución que lo solucionó.

UTF8 hace una línea adicional en mi sitio

Guarde todos sus archivos como UTF-8 sin BOM ( http://en.wikipedia.org/wiki/Byte_order_mark ).