Bonjour,
j'ai un bout de mon site qui fait la chose suivante :
- Affichage d'une liste de continents
- Lorsque je choisis un continent, je fais un appel Ajax (jQuery) qui recherche dans une base de donn�es MySQL la liste des pays de ce continent et les affiche dans un second select
La requ�te sql est faite par un objet mysqli sur lequel j'ex�cute $mysqli->set_charset("utf8") et le r�sultat de cette requ�te est retourn� � l'ajax de cette fa�on : echo json_encode($reference->getpays($continent_id)).
Le souci concerne les pays ayant un accent, par exemple "Les A�ores".
Lorsque j'affiche le dump du retour sql, les accents s'affichent.
Lorsque j'affiche le dump du json_decode, les accents ne s'affichent pas : A�ores devient A\u00e7ores
Evidemment, j'ai cherch� sur le web et j'ai donc :
- converti mes fichiers en utf8
- appliqu� une conversion en utf8 de ma base de donn�es et des tables avec collation utf8_unicode_ci
- tent� de "nettoyer ma bd et les donn�es" :
- fait un export des donn�es de ma base dans un fichier plat, v�rifi� que le fichier �tait en utf8, v�rifi� que les instruction de cr�ations de tables et insertions de donn�es se faisaient en utf8
- supprimer les tables de ma base
- importer le fichier de cr�ation / insertion
Cela n'a rien r�solu.
Y'a un truc que je trouve douteux tout de m�me, lorsque j'affiche chaque valeur de chaque colonne de chaque ligne avec l'encodage de la donn�e, alors que tout devrait �tre en UTF8, j'ai ce r�sultat :
0 => ASCII
236 => ASCII
A�ores => UTF-8
1 => ASCII
1 => ASCII
Albanie => ASCII
2 => ASCII
2 => ASCII
Allemagne => ASCII
Auriez-vous une id�e sur un truc que je n'aurai pas fait ?
Merci de votre aide !
Partager