web-dev-qa-db-fra.com

Comment spécifier le jeu de caractères dans l'en-tête de réponse HTTP Content-Type?

J'ai fait tester mon site avec l'application Page Speed de Google et l'une des suggestions était de spécifier le jeu de caractères dans l'en-tête de réponse HTTP Content-Type en affirmant qu'il était meilleur que juste dans une balise META.

Voici ce que je comprends que je dois écrire: Content-Type: text/html; charset = UTF-8

..mais où dois-je mettre ça exactement? Je suis sur un serveur partagé.

Je vous remercie!

29
Cris

Apache: ajoutez à votre fichier . Htaccess dans le répertoire racine:

AddDefaultCharset UTF-8

Il modifiera l'en-tête à partir de ceci:

Texte de type de contenu/html

...pour ça:

Content-Type text/html; charset = UTF-8


nginx [ doc ] [ défaut serveur Q ]

server {
   # other server config...
   charset utf-8;
}

ajouter charset utf-8; à serveur bloquer (et recharger la configuration nginx)

43
NXT

Lorsque j'ai ajouté cela, mon en-tête de réponse ressemblait à ceci:

HTTP/1.1 200 OK
Type de contenu: text/html, text/html; charset = 'UTF-8'
Varier: Accepter-Encodage
Serveur: Microsoft-IIS/7.5

2
Luuk

Avec Apache, vous utilisez http://httpd.Apache.org/docs/2.2/mod/core.html#adddefaultcharset

Avec IIS vous modifiez le type MIME pour le type de fichier dans la liste des fichiers.

Avec la plupart des technologies côté serveur comme PHP ou ASP.NET, il existe une méthode ou une propriété fournie par cette technologie. Par exemple, dans ASP.NET, vous pouvez la définir dans config, page ou code de page- derrière.

1
Jon Hanna