-
accents XML
Bonsoir
J'essaie d'exploiter le fichier XML/KML, généré par Google maps à partir de l'ADRESSE pour récupérer différentes parties du XML (certains champs XML) :
Code:
http://maps.google.com/maps/geo?q=<ADRESSE>&output=kml&key=<CLE>
Ca marche tant qu'il n'y a pas de mots avec des accents, mais quand il y en a, le hic c'est que mon parseur n'arrive à récupérer que la lettre accentuée et non le mot entier.
En fouinant sur le net, je suis tombé sur des "&oe=utf8" ou des "&ie=UTF8" à rajouter à l'URL de Google mais cela ne donne rien visiblement.
Le code suivant ne change rien non plus dans mon parseur :
Code:
xml_parser_set_option($parseurXML, XML_OPTION_TARGET_ENCODING, "UTF-8" );
Bref, je ne vois vraiment pas comment faire pour que le XML de Google gère les caractères spéciaux... Quelqu'un a-t-il une idée svp ?
-
peut être voir aussi au niveau des headers php ??
-
Je ne vois pas, il y a déjà :
Code:
header('Content-type: text/html; charset=utf-8');
-
dans la page ou dans le retour ajax ?
-
Dans toutes les pages PHP concernées en fait.
Mais je réalise un truc : j'ai vérifié l'encodage des fichiers PHP un par un dans Notepad et il y en a un qui n'était pas en UTF8 mais en ANSI. Je l'ai donc enregistré en UTF8 et là, ma fonction permettant de récupérer les données de l'ADRESSE ne fonctionnait plus !
Remis en ANSI, cela refonctionne. Devrais-je tout repasser en ANSI ? Serait-il judicieux de mettre cet encodage en header ? Tests, tests et re-tests en vue.
-
Bon, l'ansi à toutes les sauces ne donnent rien de plus. C'est pas encore la solution :(
-
-
Eh non pas encore la solution. Parce que ce que je récupère c'est pas un "é" au lieu d'un "é", c'est plutôt un "é" au lieu du mot entier (par exemple) "Franche-Comté" qui lui est bien dans le fichier XML généré par Google Maps et sur lequel je ne peux rien y faire.
-
juste le é au lieu de franche compté ???
regarde du coté de php avec html entities ?
-
Flûte, voilà que mon passage de données ne fonctionne plus, arghhh, à force de modifier, j'ai dû zapper un truc...
Oui il n'y a que le é qui passe au lieu de mot entier, c'est fou hein ? je ne comprends pas pourquoi. Et sans accent, le mot passe entier évidemment....
POur le htmlentities, j'ai déjà essayé (le premier essai en fait) mais cela ne donne rien, ça agit juste sur le "é" qui se transforme en hieroglyphe ou pas, selon l'encod. Mais pas de mot entier pour autant.
-
-
Dès que j'arrive à faire refonctionner le bidule, oui je pourrais tester ton idée, ça pourrait bien la faire... A suivre.
-
Bon j'ai testé mais ça donnait rien.
Résultat je suis passé directement à SimpleXML, tant pis pour la compatibilité PHP 4/5, ca me gonfle mais au moins ca marche. J'aurais bien voulu comprendre le pourquoi du comment, mais visiblement un parser traditionnel ne fait plus l'affaire dans un cas pareil...
Merci pour ton aide ;)
-
a mon avis ça vient des headers php non pas de la page principale, mais des conversations //