Comment puis-je régler l'Encodage de Caractères UTF-8 pour le default.html?
J'ai passé les dernières heures à obtenir mon site à valider HTML 4.01 Strict et en fait, j'ai réussi à cela, mais il ya encore un avertissement que je ne peux pas me débarrasser de. L'avertissement est:
Encodage des caractères incompatibilité de!
Le codage de caractères spécifié dans
l'en-tête HTTP (iso-8859-1) est
différente de la valeur dans le
élément (utf-8). Je vais utiliser la valeur
à partir de l'en-tête HTTP (iso-8859-1) pour
cette validation.
La page en question est www.dubiousarray.net/default.html. Comme vous pouvez le voir à partir de la source de la page j'ai le texte suivant élément meta:
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
et j'ai fait en sorte que le default.html le fichier est enregistré avec l'encodage UTF-8. La chose étrange est que toutes les autres pages du site valider sans cet avertissement, et ils ont la même balise meta et ont été enregistrés dans exactement de la même manière. Je suis assez sûr que c'est quelque chose à voir avec la configuration du serveur. L' .fichier htaccess ressemble à ça pour le moment:
# Use PHP5 as default
AddHandler application/x-httpd-php5 .php
AddDefaultCharset UTF-8
mais j'ai essayé tous les correctifs indiqués sur cette page et aucun d'entre eux travaillaient. Quelqu'un aurait-il des idées sur la façon de se débarrasser de cet avertissement? Une dernière chose, dans Firefox, si vous faites un clic droit sur la page et sélectionnez "Afficher les Info sur la Page', default.html montre que l'ISO-8859-1
alors que toutes les autres pages en UTF-8.
Merci, Jacob
EDIT: autre Chose à noter est que tous les fichiers html ont été créés et enregistrés dans exactement de la même manière (encodage des caractères en UTF-8 sans BOM) mais default.html est le seul qui ne s'affiche pas en tant que UTF-8. Donc je suppose que le serveur est en train de faire quelque chose de spécial à l'default.html le fichier si je ne suis pas sûr de ce qu'il n'y a pas de signe de lui dans la .fichier htaccess.
OriginalL'auteur Jacob de Lacey | 2009-05-25
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin de remplacer le HTTP au niveau de l'en-tête.
Cela devrait fonctionner:
Remarque que ci-dessus doit être la PREMIÈRE chose dans votre fichier. Pas d'exceptions. Voir
http://us2.php.net/manual/en/function.header.php
Pour des informations générales sur la façon de changer le jeu de caractères de l'en-tête dans le web différent des piles, voir
http://www.w3.org/International/O-HTTP-charset
Larry
OriginalL'auteur Larry K
Le serveur est marquant clairement le document ISO-8859-1 dans les en-têtes HTTP. Essayez de l'enregistrer default.html en utilisant l'encodage UTF-8 avec un bon éditeur.
OriginalL'auteur hannson
D'accord, je viens avec une solution partielle à mon problème. Comme il n'était que le default.html fichier qui a été la cause de l'avertissement, je suppose que le serveur était en train de faire quelque chose de spécial pour elle à cause de son nom. J'ai donc fait un nouveau fichier appelé home.html avec le même contenu que l'default.html fichier et a souligné que le .fichier htaccess dans le nouveau fichier (voir la ligne 3 ci-dessous).
Le problème est résolu et tous les fichiers sont maintenant reconnus comme l'UTF-8. Je ne suis toujours pas sûr de ce que le serveur était en train de faire à la default.html fichier ou lorsque les paramètres concernant qui sont, mais comme mon problème a disparu je vais oublier ça.
OriginalL'auteur Jacob de Lacey
Pouvez-vous supprimer
AddDefaultCharset
de.htaccess
et vérifier l'encodage? J'ai sauvé la source HTML de votre page web et l'ouvrit. Le codage a été détecté en tant que UTF-8. Cependant, sur la vision de la même page web sur votre serveur web, le codage ISO-8859-1. C'est pourquoi je suggère le retrait de l'ancien superflue la règle.OriginalL'auteur Alan Haggai Alavi