Aller au contenu






Photo
- - - - -

Php, MySQL & UTF-8 sont dans un bateau

Posté par Vincent , 08 janvier 2007 · 392 visite(s)

Parmi les messages les plus postés sur le forum php ou xml, on s'aperçoit souvent qu'il est question de problème d'encodage. Il est vrai que les hieroglyphe é, ce n'est pas plaisant à voir sur nos jolies pages :sick:

Ensuite, viens la réponse... qui est souvent du genre : "la solution est simple : on decode toutes les données qu'on reçoit en utf8 grâce à utf8_decode() et on encode tout ce qui doit sortir en utf8 grâce à utf8_encode().".

Oui mais en fait, ce n'est pas si simple, car la fonction utf8_decode() est destructrice, c’est à dire que les caractères dans la chaîne qui n’ont pas d’équivalent en latin1 seront remplacés par un point d’interrogation.

Mais que faire contre ces points d'interrogations?
Lire l'excellent tutoriel utf-8 disponible chez fassnet.net.

Je résume les principales actions a mener :
Dans l'éditeur
rajoutez la ligne suivante :
<meta http-equiv="Content-type" content="text/html; charset=UTF-8"/>
et verifiez bien que vous les enregistrez dans le codage utf-8
Sur votre Base de Donnée
créez vos tables avec utf8_general_ci au lieu de latin_swedish...
Dans vos scripts PHP
rajoutez a la connexion de la base de donnée la derniere ligne:
@mysql_connect($host,$user,$pass)
   or die("Impossible de se connecter");
@mysql_select_db("$bdd")
   or die("Impossible de se selectionner la base");
mysql_query("SET NAMES 'utf8'");

En conclusion, il faut retenir que le moteur de PHP ne sait pas gérer l'UTF-8 (en fait, PHP ne supporte pas nativement l'Unicode, mais cela fera parti des nouveautés de PHP6). et que systèmatiquement il faut prévenir que l'on utilise l'UTF-8 à toutes les sources de données alimentant nos programmes (base de données, fichier externe, libellé dans le code du script etc...)

Finalement, c'est pas si compliqué que cela !

  • 0



Derniers commentaires

0 utilisateur(s) actif(s)

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)

Rechercher dans le blog

experts referencement   Seo .fr