|
|
|
#1 |
|
Messages: n/a
Hébergeur: |
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 |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
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'); |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
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'); |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
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 |
|
|
|
#5 |
|
Messages: n/a
Hébergeur: |
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 |
|
![]() |
| Outils de la discussion | |
|
|