Page 1 sur 1

PDO agit-il sur le charset en interne ?

Posté : 21 août 2008, 14:05
par aph4x
Bonjour à tous,

Voila je pose une simple question qui m'est venue suite à un problème que je rencontre depuis que j'utilise le module PDO de php5 pour développer un site internet.

Je vous explique rapidement :

J'ai définit le charset comme suit pour mes données html :

Code : Tout sélectionner

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Ma base sql (mysql 5.0.27, PHP 5.2.0) fonctionne totalement en ut8_bin, lorsque j'insère des données dans la base je prend bien soin d'appliquer les requêtes

Code : Tout sélectionner

SET NAMES 'utf8'
, et/ou

Code : Tout sélectionner

SET CHARACTER SET utf8
, mais rien n'y fait, lorsque je sélectionne mes données pour les affichées, les caractères spéciaux sont corrompus.

Code : Tout sélectionner

� au lieu de è
Je me suis renseigné et la forme que prennent les caractères indique que les caractères sont encodés en ISO-8859-1 et alors que le navigateur tente de les encoder en utf-8, seulement je ne vois nulle part ou j'ai pu laisser un tel comportement par défaut, d'où ma question, PDO gère t-il à sa manière l'encodage des caractères en interne ?

Structure d'une table ou le problème est présent :

Code : Tout sélectionner

CREATE TABLE `models` ( `id` tinyint(4) NOT NULL auto_increment, `name` varchar(80) collate utf8_bin NOT NULL default 'Un modèle', `photo` varchar(255) collate utf8_bin NOT NULL default 'model-sample.jpg', `desc` text collate utf8_bin NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=11 ;
Merci pour votre aide.

Posté : 21 août 2008, 18:53
par @rthur
Bonjour,

J'ai trouvé ça via Google:
http://www.nabble.com/set-UTF-8-Charset ... 30313.html

Posté : 22 août 2008, 10:04
par aph4x
Merci beaucoup !

J'avais cherché également sur Google...y doit me manquer une technique :roll:
En fait je n'appelait pas correctement la requête SET NAMES :

Code : Tout sélectionner

SET NAMES 'utf8' au lieu de SET NAMES UTF8
Bon codage à tous ;)

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]