J'ai choisi de réaliser un site dynamique en php avec l'encodage utf-8.
C'est la première fois que j'utilise ce charset. Les données sont stockées
chez mon hébergeur sur une base MySQL 4.1.12 en utf-8. Les accents sont
corrects avec phpMyAdmin. Mes pages HTML renvoient un header utf-8. Malgré
tout, les accents ne passent pas. En fait, ils sont Ok uniquement en
utilisant la fonction utf8_encode qui traduit du ISO-8859-1 en utf-8, ce qui
semble à première vue illogique vu que la base est déjà en utf-8. A noter
que lorsque mes pages sont générées en local sur mon Mac, tout est Ok, c'est
sur le serveur Linux de mon hébergeur que cela pose problème. Bref, si
quelqu'un peut me mettre sur une piste, ce serait sympa.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Bobe
Christophe nous a dit le 12.11.2005 17:16:
corrects avec phpMyAdmin. Mes pages HTML renvoient un header utf-8. Malgré tout, les accents ne passent pas. En fait, ils sont Ok uniquement en utilisant la fonction utf8_encode qui traduit du ISO-8859-1 en utf-8, ce qui semble à première vue illogique vu que la base est déjà en utf-8. A noter que lorsque mes pages sont générées en local sur mon Mac, tout est Ok, c'est sur le serveur Linux de mon hébergeur que cela pose problème.
Que la db stocke en utf-8 ne signifie pas qu'elle va te renvoyer des chaînes utf-8 ou considérer ce que tu lui donnes comme de l'utf-8.
Essaie un mysqli_query("SET NAMES 'utf8'"); juste après l'ouverture de la connexion.
-- Aurélien Maille
Christophe nous a dit le 12.11.2005 17:16:
corrects avec phpMyAdmin. Mes pages HTML renvoient un header utf-8. Malgré
tout, les accents ne passent pas. En fait, ils sont Ok uniquement en
utilisant la fonction utf8_encode qui traduit du ISO-8859-1 en utf-8, ce qui
semble à première vue illogique vu que la base est déjà en utf-8. A noter
que lorsque mes pages sont générées en local sur mon Mac, tout est Ok, c'est
sur le serveur Linux de mon hébergeur que cela pose problème.
Que la db stocke en utf-8 ne signifie pas qu'elle va te renvoyer des
chaînes utf-8 ou considérer ce que tu lui donnes comme de l'utf-8.
Essaie un mysqli_query("SET NAMES 'utf8'"); juste après l'ouverture de
la connexion.
corrects avec phpMyAdmin. Mes pages HTML renvoient un header utf-8. Malgré tout, les accents ne passent pas. En fait, ils sont Ok uniquement en utilisant la fonction utf8_encode qui traduit du ISO-8859-1 en utf-8, ce qui semble à première vue illogique vu que la base est déjà en utf-8. A noter que lorsque mes pages sont générées en local sur mon Mac, tout est Ok, c'est sur le serveur Linux de mon hébergeur que cela pose problème.
Que la db stocke en utf-8 ne signifie pas qu'elle va te renvoyer des chaînes utf-8 ou considérer ce que tu lui donnes comme de l'utf-8.
Essaie un mysqli_query("SET NAMES 'utf8'"); juste après l'ouverture de la connexion.
-- Aurélien Maille
Christophe
Le 12.11.2005 23:37, dans 43763763$0$21278$, « Bobe » a écrit :
Essaie un mysqli_query("SET NAMES 'utf8'"); juste après l'ouverture de la connexion.
Merci pour ta réponse, mais il semblerait que cette fonction fait partie de php 5 et je suis toujours en php 4.
Christophe
Le 12.11.2005 23:37, dans 43763763$0$21278$8fcfb975@news.wanadoo.fr,
« Bobe » <bobe@antispam.invalid> a écrit :
Essaie un mysqli_query("SET NAMES 'utf8'"); juste après l'ouverture de
la connexion.
Merci pour ta réponse, mais il semblerait que cette fonction fait partie de
php 5 et je suis toujours en php 4.
Essaie un mysqli_query("SET NAMES 'utf8'"); juste après l'ouverture de la connexion. Merci pour ta réponse, mais il semblerait que cette fonction fait partie de
php 5 et je suis toujours en php 4.
essaye plutot ca alors: (au début du script)
Header('Content-Type: text/html; charset=utf-8');
Rien à voir. C'est totalement différent.
Bien évidemment, il faut executer la requête SET NAMES 'utf8'. Que tu le fasses avec les modules mysql, mysqli ou PDO ça ne change pas grand chose... Enfin normalement on n'utilise pas trop MySQL 4.1 avec le module mysql.
Essaie un mysqli_query("SET NAMES 'utf8'"); juste après l'ouverture de
la connexion.
Merci pour ta réponse, mais il semblerait que cette fonction fait partie de
php 5 et je suis toujours en php 4.
essaye plutot ca alors: (au début du script)
Header('Content-Type: text/html; charset=utf-8');
Rien à voir.
C'est totalement différent.
Bien évidemment, il faut executer la requête SET NAMES 'utf8'. Que tu le
fasses avec les modules mysql, mysqli ou PDO ça ne change pas grand chose...
Enfin normalement on n'utilise pas trop MySQL 4.1 avec le module mysql.
Essaie un mysqli_query("SET NAMES 'utf8'"); juste après l'ouverture de la connexion. Merci pour ta réponse, mais il semblerait que cette fonction fait partie de
php 5 et je suis toujours en php 4.
essaye plutot ca alors: (au début du script)
Header('Content-Type: text/html; charset=utf-8');
Rien à voir. C'est totalement différent.
Bien évidemment, il faut executer la requête SET NAMES 'utf8'. Que tu le fasses avec les modules mysql, mysqli ou PDO ça ne change pas grand chose... Enfin normalement on n'utilise pas trop MySQL 4.1 avec le module mysql.
Christophe
Le 15.11.2005 7:27, dans 4379180a$0$21699$, « loufoque » a écrit :
Rien à voir. C'est totalement différent.
Bien évidemment, il faut executer la requête SET NAMES 'utf8'. Que tu le fasses avec les modules mysql, mysqli ou PDO ça ne change pas grand chose... Enfin normalement on n'utilise pas trop MySQL 4.1 avec le module mysql.
Merci pour vos réponses, j'ai trouvé un article qui aborde ces problèmes en long et en large: <http://www.informit.com/articles/article.asp?p28641&seqNum=1>
Christophe
Le 15.11.2005 7:27, dans 4379180a$0$21699$626a54ce@news.free.fr,
« loufoque » <loufoque@remove.gmail.com> a écrit :
Rien à voir.
C'est totalement différent.
Bien évidemment, il faut executer la requête SET NAMES 'utf8'. Que tu le
fasses avec les modules mysql, mysqli ou PDO ça ne change pas grand chose...
Enfin normalement on n'utilise pas trop MySQL 4.1 avec le module mysql.
Merci pour vos réponses, j'ai trouvé un article qui aborde ces problèmes en
long et en large:
<http://www.informit.com/articles/article.asp?p28641&seqNum=1>
Le 15.11.2005 7:27, dans 4379180a$0$21699$, « loufoque » a écrit :
Rien à voir. C'est totalement différent.
Bien évidemment, il faut executer la requête SET NAMES 'utf8'. Que tu le fasses avec les modules mysql, mysqli ou PDO ça ne change pas grand chose... Enfin normalement on n'utilise pas trop MySQL 4.1 avec le module mysql.
Merci pour vos réponses, j'ai trouvé un article qui aborde ces problèmes en long et en large: <http://www.informit.com/articles/article.asp?p28641&seqNum=1>