MySQL PHP et encodage

Résolu/Fermé
Utilisateur anonyme - 1 avril 2011 à 14:28
 Utilisateur anonyme - 4 avril 2011 à 08:14
Bonjour,

J'ai une base MySQL en latin1_swedish_ci comme les champs varchar des tables elles mêmes.

Dans certains champs j'ai, suite à de vielles manips douteuses, des caractères é et compagnie, bref du codage iso. Mais j'ai aussi des accents corrects...

J'essaye (vainement) essayé de convertir en faisant en PHP

echo mb_convert_encoding($champ, 'utf-8', 'HTML-ENTITIES');


A l'écran, c'est formidable ! Après l'update c'est pareil. Logique vous me direz, c'est de l'UTF-8, exact, donc j'ai fait avant l'update un utf8-decode, là j'ai des caractères exotiques. Youpi !

Dans la base j'ai :
mélange

Après mb_convert j'ai à l'écran et en code source
mélange

Après utf8_decode du mb_convert j'ai
m?lange


Bon j'ai toujours merdé avec les encodages, alors si vous avez une piste, je suis preneur.

Merci



1 réponse

caphar Messages postés 50 Date d'inscription mardi 15 mars 2011 Statut Membre Dernière intervention 7 septembre 2011 12
Modifié par caphar le 1/04/2011 à 16:26
mélange c'est pas de l'utf-8, c'est de l'HTML.
Essaie html_entity_decode()
2
Utilisateur anonyme
4 avril 2011 à 08:14
je pensais que mb_convert_encoding($champ, 'utf-8', 'HTML-ENTITIES'); decoderait ça correctement.
Mais effectivement avec html_entity_decode ça fonctionne.
Merci
0