UTF 8 et base de données


rudddy
WRInaute accro
WRInaute accro
 
Messages: 2570
Inscription: 1 Aoû 2007

UTF 8 et base de données

Message le Jeu Mai 07, 2009 14:25

Bonjour,

je galère depuis 2 jours pour lancer un site en utf8. jusqu'ici :

- Ma bd est en utf 8 bin (Interclassements des champs, des tables et de la base)
- le charset de ma page html en utf 8 également et je suis obligé d'utiliser utf8_encode après avoir interroger ma base de données !!!
- le mode d'enregistrements de mes fichiers php en utf 8

et malgré cela j'ai aussi des signes bizarres à la places des ' : un carré avec 0092 écrit en petit dedans (je crois que c'est en fait l'apostrophe penchée donc j'ai modifié cela dans la base de données). je précise que quand j'écris en dur dans mon fichier php un é il sort bien même sans utf 8 encode donc le problème vient bien de la bd !

il y a 2 voies à suivre :
1- le mieux, c'est que tout soit ok directement dans la BD donc pas besoin de utf 8 encode
2- sinon par défaut une fonction qui m'afficherait tout clairement puisqu'apparemment utf8 encode n'est pas suffisant

Merci

Genesys
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 32
Inscription: 2 Mar 2004

Re: UTF 8 et base de données

Message le Jeu Mai 07, 2009 17:46

Il faut indiquer au serveur SQL le charset (jeu de caractères) que tu souhaites utiliser :
http://dev.mysql.com/doc/refman/5.0/fr/charset-connection.html

Soit tu modifies une fois pour toutes le charset au niveau du serveur lui-même, soit tu utilises SET NAMES 'utf8' avant toute requête SQL.


raljx
WRInaute accro
WRInaute accro
 
Messages: 2823
Inscription: 10 Juil 2006

Re: UTF 8 et base de données

Message le Jeu Mai 07, 2009 17:54

que donnes le AddDefaultCharset dans la conf apache ? voir directement modifier le DefaultCharset dans le virtualhost du site qui l'utilise si d'autres sites du serveur utilise d'autres encodages ...

et on oublie pas un petit
Code: Tout sélectionner
/etc/init.d/apache2 reload && /etc/init.d/apache2 restart


tété ou Ruddy aujourdhui ? :mrgreen:


rudddy
WRInaute accro
WRInaute accro
 
Messages: 2570
Inscription: 1 Aoû 2007

Re: UTF 8 et base de données

Message le Jeu Mai 07, 2009 19:00

c'est sur du mutu :-(

@stephane : je t'ai appelé aujourd'hui en début d'après midi mais t'as pas décroché (je t'ai laissé un message et j'ai pas osé rappelé)


rudddy
WRInaute accro
WRInaute accro
 
Messages: 2570
Inscription: 1 Aoû 2007

Re: UTF 8 et base de données

Message le Lun Mai 25, 2009 14:53

j'ai donc utilisé SET NAMES qui m'a résolu le problème

merci


rudddy
WRInaute accro
WRInaute accro
 
Messages: 2570
Inscription: 1 Aoû 2007

Re: UTF 8 et base de données

Message le Lun Mai 25, 2009 14:53

une reco donc gensys


rudddy
WRInaute accro
WRInaute accro
 
Messages: 2570
Inscription: 1 Aoû 2007

Re: UTF 8 et base de données

Message le Mar Mai 26, 2009 13:37

rudddy a écrit:et malgré cela j'ai aussi des signes bizarres à la places des ' : un carré avec 0092 écrit en petit dedans (je crois que c'est en fait l'apostrophe penchée).


pour ceux que ça intéresse j'ai enfin trouvé la parade :

Code: Tout sélectionner
$description_rss = str_replace(chr(146), "'", $description_rss);


146 étant le code ascii de l'apostrophe penchée, qui causait avec le utf8 encode ce petit carré avec 0092 :mrgreen:


Greendog
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 482
Inscription: 18 Mar 2008

Re: UTF 8 et base de données

Message le Mar Mai 26, 2009 14:23

rudddy a écrit:- le charset de ma page html en utf 8 également et je suis obligé d'utiliser utf8_encode après avoir interroger ma base de données !!!


Si ta page de saisie de données où se trouve ton formulaire est déjà avec un charset UTF-8 dans le head et ta base SQL en Utf-8. La page qui va traiter ton $_POST n'a pas à subir de utf8_encode, ça va foutre la merde vu que les données transmises sont déjà en utf-8...

Si ta page de saisie ne contient pas de charset identifié dans le head oui là c'est con et ça pose problème. ^__^

De là quand tu interroges ta base pour afficher une valeur quelconque sur une page avec charset UTF-8 y'a pas de soucis...


rudddy
WRInaute accro
WRInaute accro
 
Messages: 2570
Inscription: 1 Aoû 2007

Re: UTF 8 et base de données

Message le Mar Mai 26, 2009 14:32

qui t'as parlé d'un formulaire ou d'une quelconque page de saisie ?

j-mi
WRInaute accro
WRInaute accro
 
Messages: 3411
Inscription: 17 Mai 2005

Re: UTF 8 et base de données

Message le Mar Mai 26, 2009 20:22

Ruddy, µmoi je rencotre des fois le probleme,

Le mieux est de gerrer ça avac ton php.ini et de dire auto pour la reconaissance des carractéres ...

J'ai fait un petit article ici : http://developpements.org/encodage-utf8-topic-des-solutions-t336.html


rudddy
WRInaute accro
WRInaute accro
 
Messages: 2570
Inscription: 1 Aoû 2007

Re: UTF 8 et base de données

Message le Mer Mai 27, 2009 12:49

intéressant ...

merci


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: ISFR et 1 invité