UTF 8 et base de données

  • Auteur de la discussion Auteur de la discussion rudddy
  • Date de début Date de début
WRInaute passionné
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
 
WRInaute passionné
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:
/etc/init.d/apache2 reload && /etc/init.d/apache2 restart

tété ou Ruddy aujourdhui ? :mrgreen:
 
WRInaute passionné
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é)
 
WRInaute passionné
rudddy a dit:
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:
$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:
 
WRInaute occasionnel
rudddy a dit:
- 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...
 
Discussions similaires
Haut