JSON et caractères accentués (API Google Maps V3)

Invité
Invité n'ayant pas de compte PHPfrance

07 févr. 2011, 18:34

Bonjour,
Je suis en cours de (re)développement (passage des API V2 à V3 de Google Maps) d'un site de géolocalisation et j'utilise AJAX pour récupérer des données d'une base MySQL encodée en utf-8.
Le code est lui aussi encodé en utf_8 (php, javascript).
Toutefois quand je rapatrie mes données au format JSON je me retrouve avec des problèmes d'affichage sur les caractères accentués... #-o
Par avance merci de votre aide !

Petit nouveau ! | 3 Messages

07 févr. 2011, 19:07

Bonjour,
Je suis en cours de (re)développement (passage des API V2 à V3 de Google Maps) d'un site de géolocalisation et j'utilise AJAX pour récupérer des données d'une base MySQL encodée en utf-8.
Le code est lui aussi encodé en utf_8 (php, javascript).
Toutefois quand je rapatrie mes données au format JSON je me retrouve avec des problèmes d'affichage sur les caractères accentués... #-o
Par avance merci de votre aide !
Désolé ! Une fois inscrit sur le forum c'est mieux ! :lol:
jump

ViPHP
ViPHP | 5462 Messages

08 févr. 2011, 11:22

hello, tu fais bien un json_decode ? ton header est bien en utf-8 ?

Petit nouveau ! | 3 Messages

08 févr. 2011, 12:43

Bonjour,
Merci pour cette excellente piste ! =D>
Non je n'utilisais pas json_decode mais je traitais le fichier point par point !
Oui le header est bien en utf-8 !
Je ne pourrais pas tester ça avant vendredi :cry:
Je te tiens au courant !
Encore merci !

ViPHP
ViPHP | 5462 Messages

08 févr. 2011, 14:50

Bonjour,
Merci pour cette excellente piste ! =D>
Non je n'utilisais pas json_decode mais je traitais le fichier point par point !
Oui le header est bien en utf-8 !
Je ne pourrais pas tester ça avant vendredi :cry:
Je te tiens au courant !
Encore merci !
utilise json_decode y'aura pas de surprise et c'est fait pour

Petit nouveau ! | 3 Messages

09 févr. 2011, 22:57

Bonsoir Stealth35,

J'avoue me casser un peu les dents :mrgreen: !
J'utilise un appel AJAX classique pour récupérer les données d'une requête mySQL classique.
Lors du traitement de la réponse j'utilise la fonction "eval" puis je créé un marker Google Maps (API V3) :

...
if(requester.readyState == 4){
if(requester.status == 200 || requester.status == 304){
var json = eval('(' + requester.responseText + ')');
for(var i = 0;i < json.pds.length;i++){
createMarker(json.pds);
}
}
}
};
}

function createMarker(json){
var latlng = new google.maps.LatLng(json.lat,json.lon);
var titre = json.serv+" / "+json.etab;
var description = ....


Comment dans ce cas dois-je utiliser json_decode?


Merci de ton aide et comprendrai si tu n'a pas le temps de me répondre ! :wink: