Bonjour,
Est-il possible avec l'api d'afficher correctement les caractères accentués présent dans un fichier kml ?
Merci
Bonjour,
Est-il possible avec l'api d'afficher correctement les caractères accentués présent dans un fichier kml ?
Merci
Il faut tout coder en utf-8 pour obtenir un ensemble homogène.
j'ai essayé avec ses balises mais sans succès
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
Peux-tu mettre un lien sur le fichier incriminé ?
Dans l'exemple http://atlasnw.free.fr/web/geoportai...ml_cdata2.html
le fichier cdata.kml contient des accents.
voici un exemple:
(le fichier est un .xml quil faut renommer en .kml)
Le fichier est à priori encodé en Windows-1252 ou en iso 8589.
J'utilise sous Windows l'éditeur Scite qui permet de visualiser un texte suivant différents encodages.
Notepad++ permet de convertir cet encodage mais je préfère utiliser iconv.
Et doncComment dois-je faire pour encoder correctement?
Sans passer par un "réencodage" avec notepad ou autres.
Il faut utiliser un éditeur gérant le codage UTF-8.
Pour Scite (http://www.scintilla.org/SciTE.html), on peut préciser dans le menu File/Encoding le type d'encodage du texte.
Est-ce que tu crées tes fichiers KML (xml) par programmation...et si oui, avec quel langage ?...
ex en C# :
ensuite tu peux écrire dans le flux sw normalement...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 System.IO.FileStream FichierKML; System.IO.StreamWriter sw = null; ... FichierKML = new System.IO.FileStream(NomFichierKML, System.IO.FileMode.Create); sw = new System.IO.StreamWriter(FichierKML, System.Text.Encoding.UTF8); ...
j'ai pu régler mon problème avec les balises d'entête suivante
<?xml version="1.0" encoding="ISO-8859-1"?>
<kml xmlns="http://earth.google.com/kml/2.2">
Le passage en ISO est une très mauvaise idée. Il faut absolument éviter d'avoir des parties en utf (API) et d'autres en iso!
Je crée mes fichiers à l'aide de php
remplace
par
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <?xml version="1.0" encoding="ISO-8859-1"?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <?xml version="1.0" encoding="utf-8"?>
Il y a plusieurs points à surveiller avec les caractères accentués :
- le flux API est en UTF-8, ce qui signifie que les textes insérés dans le code sont en UTF-8 (particulièrement les traductions);
- l'en-tête des pages HTML doit être en UTF-8 car les butineurs sont très mal à l'aise avec des encodages distincts;
- les données lues par des flux XML : habituellement, un flux ISO-8859-1 (Occidental classique) ou ISO-8859-15 (étendu) fonctionnent si le code Javascript est dans le même encodage. Comme ce n'est pas le cas, il faut que l'encodage des caractères soit UTF-8. Pour cela, en XML :
- l'en-tête doit déclarer l'utilisation de l'encodage UTF-8;
- les données DOIVENT être effectivement encodées en UTF-8.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager