Problème encodage mySQL : � et ?

Problème encodage mySQL : � et ? - SQL/NoSQL - Programmation

Marsh Posté le 17-12-2007 à 23:46:00    

Bonjour,
j'ai une table mySQL bien remplie et voilà que depuis une petite modification (ajout d'une majuscule), le site m'affiche mes accents sous cette forme    ï¿½
 
Et je ne sais pas pourquoi ça me fait ça. D'ailleurs, autre problème, tous mes accents dans ma base de données sont affichés par un ? sur fond de losange noir.
 
J'ai vu que c'était dû à un problème d'encodage entre le site et la base mais je ne vois comment changer.
 
Pourvez-vous m'aider sur ces quelques problèmes ?
 
Merci
Max

Reply

Marsh Posté le 17-12-2007 à 23:46:00   

Reply

Marsh Posté le 15-01-2008 à 09:49:50    

C'est un problème de "character set". Tu as trois points à vérifier :  
- Dans Firefox (si tu ne l'as pas encore, cours l'installer !) :  Affichage -> Encodage des caractères -> là tu essayes successivement Unicode et Occidental (ISO-8859-1 ou -15) et tu vois si ça change quelque chose.
- Le charset/collation de ta DB
- Le charset/collation de ta table
 
Typiquement, ce genre de problème survient quand tu as migré des données d'une DB à une autre, et que les données ont été importées avec de mauvais charsets etc.
Autrement dit, tant que tu ne chipotes pas à tes données touçt va bien, mais si tu fais le moindre update (classiquement, avec un outil style phpmyadmin) dans lequel sont définis des paramètres tout à fait différents de ce côté-là, eh bien bardaf, c'est l'embardée.
 
Tu trouveras sur Google une foultitude d'articles sur la question, par exemple ceci : http://bugs.typo3.org/view.php?id=6098

Reply

Marsh Posté le 20-01-2008 à 20:28:36    

Je te remercie, entre temps, j'avais trouvé la solution. En fait, le charset de ma BD n'était pas le même que celui de mes fichiers PHP.
C'était un peu con mais je l'ai vu après.
P.S. : j'utilise Opera et je ne compte pas changer ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed