bonjour
je sais que les problèmes d'accents sont délicats, j'en ai eu par le passé, et à chaque fois je sèche
alors cette fois, j'ai réinstallé mon serveur dédié, et donc installé la dernière version de wamp (windows)
la version de php est 5.5.12
mon site est fait en php + bdd mysql
novice, j'ai toujours utilisé "mysql_query" mais depuis l'upgrade, j'ai eu un message disant que mysql_query était "depreciate" sur toutes mes pages php
après quelques recherches, j'ai compris que je devais revoir mon code, pour utiliser la PDO lorsque j’interroge ma bdd
sans rien y toucher, j'ai remarqué que certain texte issu de la bdd n'apparaissaient pas lorsqu'il y avait un accent
je suis donc passé à la PDO et j'ai eu d'autres surprises :
si je me connecte à la bdd ainsi :
$bdd = new PDO('mysql:host=localhost;dbname=mabdd;charset=utf8', 'root', 'xxxxx');
le texte apparaît mais les accents sont mal interprété "préféré" pour le mot "préféré"
si je retire "charset=utf8" et donc :
$bdd = new PDO('mysql:host=localhost;dbname=mabdd', 'root', 'xxxxx');
et bien j'ai le même soucis qu'avec mysql_query, des qu'il y a un texte accentué, rien ne s'affiche
après quelques recherche sur le net, j'ai appris qu'il fallait modifier le charset, donc j'ai créé un petit fichier test pour avoir le moins de code possible (et donc trouver ce qui ne va pas)
_ si en début de page je met :
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
- echo 'préféré' affiche bien "préféré"
- mais si le mot "préféré" se trouve dans la bdd et bien il s'affichera "préféré"
_ si en début de page je met :
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
- echo 'préféré' affiche "préféré"
- mais si le mot "préféré" se trouve dans la bdd et bien il s'affichera correctement "préféré"
voilà je vous ai expliqué en détail mon problème, en espérant que mon long post n'effrayera pas des aideurs potentiel ^^
je vous remercie d'avance
Partager