Outils pour utilisateurs

Outils du site


webadmin:apache2:troubleshooting:probleme-affichage-caracteres

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
webadmin:apache2:troubleshooting:probleme-affichage-caracteres [2020/06/30 14:24] – créée yoannwebadmin:apache2:troubleshooting:probleme-affichage-caracteres [2021/02/01 21:51] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 {{tag>webadmin apache php charset caractères}} {{tag>webadmin apache php charset caractères}}
  
-====== Résoudre les problèmes d'affichage de caractères ======+====== Problèmes d'affichage de caractères ======
  
-L'agent (navigateur Web) utilise un algorithme pour déterminer quel encodage de caractère doit être utilisé pour restituer correctement la ressource transmise par le serveur. L'algorithme tient compte: +L'agent (navigateur Web) utilise un algorithme pour déterminer quel encodage de caractère doit être utilisé pour restituer correctement la ressource de type texte transmise via HTTP par le serveur web. L'algorithme tient compte notamment
  
-  * De lentête de la réponse  +  * De l'attribut **Content-Type** dans l' entête de la réponse HTTP. 
-  * Le module charset_lite permet à Apache d’opérer des transcodages avant de fournir une ressource+  * De la balise **<meta>** du document HTML.  
-  * + 
 + 
 +Pour des documents HTML, la bonne pratique consiste à systématiquement: 
 +  * Définir la balise <meta> et à préciser le jeux de caractères du document via l'attribut charset
 +  * Utiliser préférentiellement le jeu de caractère UTF-8. 
 +  
 + 
 +Il est possible de modifier la configuration du serveur Apache pour qu'il modifie les entete  
 +  * Forcer la valeur de l'attribut Content-Type 
  
  
Ligne 15: Ligne 23:
 Si la ressource est un script PHP, le moteur PHP se chargeant de interprétation (module apache ou serveur php-fpm) peut modifier le header HTML et spécifier un encodage en fonction sa configuration par défaut (php.ini) Si la ressource est un script PHP, le moteur PHP se chargeant de interprétation (module apache ou serveur php-fpm) peut modifier le header HTML et spécifier un encodage en fonction sa configuration par défaut (php.ini)
 </note> </note>
 +
 +Le problème a été rencontré lors du portage d'anciens scripts sur un serveur récent. Les scripts PHP utilisaient le charset ISO-8859-1 mais le serveur PHP-FPM était configuré pour utiliser par défaut le jeu de caractères UTF-8 (via le fichier /etc/php/5.6/fpm/php.ini). Lors de l’exécution des scripts l’entête de la réponse HTTP était modifiée par le serveur PHP-FPM qui forçait la valeur de Content-Type:
 +
 +<file>
 +Content-Type: text/html; charset=UTF-8
 +</file> 
 +
 +Le jeu de caractère UTF-8 était alors utilisé par l'agent en lieu et place du jeu de caractère correct ISO-8859-1.
  
  
webadmin/apache2/troubleshooting/probleme-affichage-caracteres.1593527062.txt.gz · Dernière modification : 2021/02/01 21:51 (modification externe)