Utilitaires
Scripts
Divers
Jeux
Rechercher
Quillevere.net
Réflexions informatiques

Résoudre les problèmes d'encodage UTF-8

24/11/2009
Des problèmes de jeux de caractères peuvent survenir lors du développement d'un site. Voici quelques méthodes pour y pallier. Dans les cas ci-dessous, le jeu de caractères sera l'UTF-8 mais il est évidemment possible d'utiliser l'ISO-8859-1, tout en sachant que ce n'est plus conseillé.

  1. Vérifier le format du fichier source. Dans Notepad++, l'option 'Encoder en UTF-8 (sans BOM)" doit être cochée.
  2. Forcer l'envoi du jeu de caractères en header
    header('Content-type: text/html; charset=utf-8');
  3. Vérifier que la base de données soit dans le bon format (dans le cas de PHP 5). Après mysql_select_db, ajouter :
    // Force la connexion à renvoyer de l'ISO-8859-1
    if(function_exists('mysql_set_charset'))
        mysql_set_charset('utf-8',$resConnexionSQL);
    else
        {
        mysql_query("SET NAMES utf8");
        mysql_query("SET CHARACTER SET utf8");
        }
  4. Vérifier que le serveur Apache traite le bon format
    Ajouter dans httpd.conf ou dans le fichier .htaccess la ligne :
    AddDefaultCharset UTF-8
  5. Vérifier que PHP soit dans le bon format :
    Ouvrir PHP.INI et vérifier la présence non commentée de la ligne :
    default_charset = "UTF-8"
  6. Vérifier que les appels aux fichiers Javascript soient dans le bon jeu de caractères. Ajouter l'encodage dans l'appel au fichier .JS.
    Exemple :
    <script language="Javascript" type="text/javascript" src="monjs.js" charset="UTF-8"></script>
Dernière modification le 09/03/2019 - Quillevere.net

Rechercher sur le site

rss RSS info Informations