¿Cómo configuro la encoding de caracteres en UTF-8 para default.html?

Pasé las últimas horas haciendo que mi sitio web validara HTML 4.01 estricto y de hecho lo logré, pero todavía hay una advertencia de la que no me puedo deshacer. La advertencia es:

¡Falta de coincidencia de encoding de caracteres!

La encoding de caracteres especificada en el encabezado HTTP (iso-8859-1) es diferente del valor en el elemento (utf-8). Utilizaré el valor del encabezado HTTP (iso-8859-1) para esta validación.

La página en cuestión es www.dubiousarray.net/default.html . Como puede ver en el origen de la página, tengo el siguiente elemento meta:

 

y me he asegurado de que el archivo default.html se guarde con encoding UTF-8. Lo extraño es que todas las otras páginas del sitio validan sin esta advertencia y tienen la misma etiqueta meta y se guardaron exactamente de la misma manera. Estoy bastante seguro de que tiene algo que ver con la configuración del servidor. El archivo .htaccess se ve así en este momento:

 # Use PHP5 as default AddHandler application/x-httpd-php5 .php AddDefaultCharset UTF-8 

pero probé todas las correcciones que se muestran en esta página y ninguna de ellas funcionó. ¿Alguien tiene alguna idea sobre cómo deshacerse de esta advertencia? Una última cosa, en Firefox, si hace clic derecho en la página y selecciona ‘Ver información de página’, default.html muestra como ISO-8859-1, mientras que todas las demás páginas muestran UTF-8.

Gracias, Jacob

EDITAR: Otra cosa a tener en cuenta es que todos los archivos html se han creado y guardado de la misma manera (encoding de caracteres establecida en UTF-8 sin BOM) pero default.html es el único que no se muestra como UTF-8 . Así que supongo que el servidor está haciendo algo especial para el archivo default.html, aunque no estoy seguro de qué es lo que no hay signo de ello en el archivo .htaccess.

Debe reemplazar el encabezado de nivel HTTP.

Esto debería funcionar:

  

Tenga en cuenta que lo anterior debe ser lo PRIMERO en su archivo. Sin excepciones. Ver http://us2.php.net/manual/en/function.header.php

Para obtener información general sobre cómo cambiar el encabezado del conjunto de caracteres en diferentes stacks web, consulte http://www.w3.org/International/O-HTTP-charset.

Larry

El servidor está marcando claramente el documento como ISO-8859-1 en los encabezados HTTP. Intenta guardar default.html usando la encoding UTF-8 con un editor apropiado.

De acuerdo, he encontrado una solución parcial a mi problema. Como solo era el archivo default.html que causaba la advertencia, asumí que el servidor estaba haciendo algo especial debido a su nombre. Así que hice un nuevo archivo llamado home.html con los mismos contenidos que el archivo default.html y señalé el archivo .htaccess al nuevo archivo (ver la línea 3 a continuación).

 # Use PHP5 as default AddHandler application/x-httpd-php5 .php DirectoryIndex home.html AddDefaultCharset UTF-8 

Esto solucionó el problema y todos los archivos ahora se reconocen como UTF-8. Todavía no estoy seguro de lo que el servidor estaba haciendo con el archivo default.html o dónde están las configuraciones, pero como mi problema se ha ido, me olvidaré de eso.

¿Puedes eliminar AddDefaultCharset desde .htaccess y verificar la encoding? Guardé el código fuente HTML de su página web y lo abrí. La encoding se detectó como UTF-8. Sin embargo, al ver la misma página web servida por su servidor web, la encoding es ISO-8859-1. Es por eso que sugiero la eliminación de la antigua regla redundante.

incluir esto en tu código: