Apache 2 / PHP 7 changer le type de contenu en text / html: charset = iso-8859-1

J’essaie d’obtenir que toutes les pages d’un site migré utilisent iso-8859-1 . Dans httpd.conf, j’ai AddDefaultCharset On . Une des pages en question a également (bien que je comprenne avec AddDefaultCharset qui est ignoré).

Cependant, dans les outils de développement Chrome -> Réseau -> faq.html -> En-têtes -> En-têtes de réponse, je vois toujours Content-Type: text/html; charset=UTF-8 Content-Type: text/html; charset=UTF-8 . Apache est configuré pour laisser les fichiers php avoir l’extension .html, ce fichier contient beaucoup de PHP (je ne sais pas si c’est important).

Y a-t-il autre chose qui me manque?

Oui, vous devez également définir le jeu de caractères par défaut dans php.ini . Vérifiez le default_charset : http://php.net/manual/en/ini.core.php#ini.default-charset

La valeur par défaut est UTF8 depuis PHP 5.6. Vous devez donc la forcer à revenir à iso-8859-1 . Sachez que ce sera global et aura un impact sur tous les sites Web exécutés sur la même configuration.

Si vous souhaitez apporter cette modification uniquement sur votre site Web, il est préférable de modifier les parameters php.ini partir d’un fichier .htaccess ou d’append quelque chose comme cela dans un fichier inclus au début de toutes vos pages:

header('Content-Type: text/html; charset=iso-8859-1');