Salut à tous,
J'ai voulu passer à l'UTF-8 pour mon dernier projet, et je ne m'en sors pas J'ai fouiné un peu partout sur le web pour trouver des solutions, j'ai ajouté des fonctions ici et là, mais rien à faire... je nage complètement...
Avant tout voici les config :
MySQL :
Jeu de caractères pour MySQL: UTF-8 Unicode (utf8)
Interclassement pour la connexion MySQL: utf8_general_ci
La base est en utf8_general_ci
Les tables sont en utf8_general_ci
Les champs sont en utf8_general_ci
Connexion à MySQL :
$base = mysql_connect ('', '', '');
mysql_select_db ('', $base);
xHTML :
Meta UTF-8 : <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
PHP :
header HTTP en UTF-8 : header('Content-type: text/html; charset=UTF-8');
Je prends l'exemple de mon script de news. J'utilise le FCKeditor pour le champ "contenu".
Voici le code php qui me permet de récupérer le contenu de mes deux champs :
Ensuite, c'est enregistré dans la table "news". Et c'est là que le problème se pose.
Si par exemple j'ai saisie comme titre : Conférence de presse à l'E3, quand je vais dans phpMyAdmin j'ai d'enregistré : Conférence de presse à l\'E3
Mon contenu lui ressemble à ça une fois enregistré :
Donc j'imagine que d'avoir un "é" à la place de "é" n'est pas vraiment normal. Et pareil pour le contenu, est-ce normal d'avoir é à la place de "é", vu que je suis en UTF-8 (enfin de pense l'être) je devrais avoir les caractères accentués enregistrés tel quel, non ?
Par contre l'affichage des données se fait très bien, bizarrement...
Merci d'avance pour votre aide
Modifié par Ben5back (30 Jun 2009 - 23:03)
J'ai voulu passer à l'UTF-8 pour mon dernier projet, et je ne m'en sors pas J'ai fouiné un peu partout sur le web pour trouver des solutions, j'ai ajouté des fonctions ici et là, mais rien à faire... je nage complètement...
Avant tout voici les config :
MySQL :
Jeu de caractères pour MySQL: UTF-8 Unicode (utf8)
Interclassement pour la connexion MySQL: utf8_general_ci
La base est en utf8_general_ci
Les tables sont en utf8_general_ci
Les champs sont en utf8_general_ci
Connexion à MySQL :
$base = mysql_connect ('', '', '');
mysql_select_db ('', $base);
xHTML :
Meta UTF-8 : <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
PHP :
header HTTP en UTF-8 : header('Content-type: text/html; charset=UTF-8');
Je prends l'exemple de mon script de news. J'utilise le FCKeditor pour le champ "contenu".
Voici le code php qui me permet de récupérer le contenu de mes deux champs :
$titre = addslashes(htmlspecialchars($_POST['titre'], ENT_COMPAT, 'UTF-8')); // input tout à fait normal
$contenu = addslashes($_POST['contenu']); // FCKeditor
Ensuite, c'est enregistré dans la table "news". Et c'est là que le problème se pose.
Si par exemple j'ai saisie comme titre : Conférence de presse à l'E3, quand je vais dans phpMyAdmin j'ai d'enregistré : Conférence de presse à l\'E3
Mon contenu lui ressemble à ça une fois enregistré :
<p style=\"text-align: justify;\">En effet, la durée du film dans sa version IMAX sera de 2h35 a confirmé le producteur Jon Landau à l\'instar de sa version « longue » de 3h09.
Donc j'imagine que d'avoir un "é" à la place de "é" n'est pas vraiment normal. Et pareil pour le contenu, est-ce normal d'avoir é à la place de "é", vu que je suis en UTF-8 (enfin de pense l'être) je devrais avoir les caractères accentués enregistrés tel quel, non ?
Par contre l'affichage des données se fait très bien, bizarrement...
Merci d'avance pour votre aide
Modifié par Ben5back (30 Jun 2009 - 23:03)