PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Autres forums > Forum Programmation & Conception > fr.comp.lang.php > PHP et MySQL en full UTF8
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
PHP et MySQL en full UTF8

Réponse
 
LinkBack Outils de la discussion
Vieux 12/10/2007, 12h04   #1
CrazyCat
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut PHP et MySQL en full UTF8

Bonjour,

je suis sûr que je ne m'adresse pas au bon groupe, mais peut-être
quelqu'un a déjà rencontré et solutionné ce problème:

J'ai une base MySQL faite pour fonctionner en UTF-8, tout est à priori
bien configuré. Mon apache travaille en UTF-8, tout va bien.

Pour pouvoir insérer mes données correctement dans la base, j'ai été
obligé d'ajouter après la connexion:
mysql_query( "SET NAMES utf8", $this->connexion);
mysql_query("SET CHARACTER SET 'utf8'", $this->connexion);

Jusque là, tout va bien, mes données sont enregistrées en UTF-8 dans la
base.
Par contre, lorsque je récupère les données dans la base avec un select,
je dois faire un utf8_decode() pour les avoir correctement, il
semblerait qu'à un moment les données soient ré-encodées.

Qu'est-ce qui provoque ça et surtout comment le corriger?

--
Discussions et débats sur l'actualité: http://www.sujets-d-actu.eu
Réseau IRC Francophone: http://www.crazy-irc.net
  Réponse avec citation
Vieux 12/10/2007, 12h26   #2
Olivier Miakinen
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: PHP et MySQL en full UTF8

Le 12/10/2007 13:04, CrazyCat a écrit :
>
> J'ai une base MySQL faite pour fonctionner en UTF-8, tout est à priori
> bien configuré. Mon apache travaille en UTF-8, tout va bien.
>
> [...]
> Par contre, lorsque je récupère les données dans la base avec un select,
> je dois faire un utf8_decode() pour les avoir correctement, il
> semblerait qu'à un moment les données soient ré-encodées.


Cela semble vouloir dire que le script PHP qui fait le select « se
considère » en ISO-8859-1. Il manque peut-être l'instruction suivante
en début de script :
header('Content-Type: text/html; charset=UTF-8');
  Réponse avec citation
Vieux 12/10/2007, 12h26   #3
Olivier Miakinen
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: PHP et MySQL en full UTF8

Le 12/10/2007 13:04, CrazyCat a écrit :
>
> J'ai une base MySQL faite pour fonctionner en UTF-8, tout est à priori
> bien configuré. Mon apache travaille en UTF-8, tout va bien.
>
> [...]
> Par contre, lorsque je récupère les données dans la base avec un select,
> je dois faire un utf8_decode() pour les avoir correctement, il
> semblerait qu'à un moment les données soient ré-encodées.


Cela semble vouloir dire que le script PHP qui fait le select « se
considère » en ISO-8859-1. Il manque peut-être l'instruction suivante
en début de script :
header('Content-Type: text/html; charset=UTF-8');
  Réponse avec citation
Vieux 12/10/2007, 14h56   #4
CrazyCat
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: PHP et MySQL en full UTF8

Olivier Miakinen wrote:
> Cela semble vouloir dire que le script PHP qui fait le select « se
> considère » en ISO-8859-1. Il manque peut-être l'instruction suivante
> en début de script :
> header('Content-Type: text/html; charset=UTF-8');


Bien tenté mais non.

La bonne nouvelle, c'est que j'ai trouvé le soucis: je faisais un
htmlentities(), c'est lui qui fait un utf8_encode() supplémentaire.
Bêtement, je n'avais pas pensé que le jeu de caractères par défaut est
ISO et non pas UTF-8.


--
Discussions et débats sur l'actualité: http://www.sujets-d-actu.eu
Réseau IRC Francophone: http://www.crazy-irc.net
  Réponse avec citation
Vieux 12/10/2007, 14h56   #5
CrazyCat
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: PHP et MySQL en full UTF8

Olivier Miakinen wrote:
> Cela semble vouloir dire que le script PHP qui fait le select « se
> considère » en ISO-8859-1. Il manque peut-être l'instruction suivante
> en début de script :
> header('Content-Type: text/html; charset=UTF-8');


Bien tenté mais non.

La bonne nouvelle, c'est que j'ai trouvé le soucis: je faisais un
htmlentities(), c'est lui qui fait un utf8_encode() supplémentaire.
Bêtement, je n'avais pas pensé que le jeu de caractères par défaut est
ISO et non pas UTF-8.


--
Discussions et débats sur l'actualité: http://www.sujets-d-actu.eu
Réseau IRC Francophone: http://www.crazy-irc.net
  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 05h47.


Édité par : vBulletin® version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières ©2000-2008
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,11501 seconds with 13 queries