Quelle est la bonne façon d'activer les en-têtes de jeu de caractères corrects dans NGINX?
J'analyse mon site avec Google Page Speed. Il dit que je devrais spécifier le jeu de caractères des fichiers HTML dans les en-têtes HTTP. Quel est le bon moyen de le faire?
J'ai déjà essayé de définir charset utf-8;
la server {}
déclaration de mon fichier de configuration NGINX, mais cela n'a aucun effet.
Mon serveur répond avec l'en-tête suivant:
Connection: keep-alive
Date: Fri, 16 Sep 2011 12:43:24 GMT
Last-Modified: Fri, 02 Sep 2011 15:13:17 GMT
Server: nginx/0.7.67
Merci.
Réponses:
L'ajout
charset utf-8;
est à peu près tout ce que vous devez faire. Etes-vous sûr de ne pas oublier de recharger nginx après avoir modifié le fichier de configuration?En plus, au moment de l'écriture, curl -I http://vorb.de/ renvoie le résultat suivant:
Donc, tout va bien maintenant.
la source
La définition du jeu de caractères risque de ne pas fonctionner si vous ne définissez pas la directive "charset_types" pour laquelle vous voulez UTF-8.
Par exemple: lorsque vous définissez "charset utf-8;", tout le code HTML sera reflété, mais pas les fichiers JSON, car ils ne sont pas définis par défaut sur "charset_types".
http://nginx.org/en/docs/http/ngx_http_charset_module.html#charset_types
la source
Vous devrez peut-être également ajuster le
charset_types
paramètre pour inclure le type MIME pour lequel vous souhaitez définir le paramètre jeu de caractères (par exemple, le texte / le calendrier n'y est pas inclus par défaut).Pour ce que cela vaut, je pense que cela
text/*
devrait être traité par défaut - mais vous ne pouvez pas l’utiliser ici (comme avec Apache IIRC).Voir http://nginx.org/en/docs/http/ngx_http_charset_module.html#charset_types
la source
Est ce que vous avez besoin. Cela ne fonctionnera pour moi que si j'ai les deux.
la source