... the user friendly GPS tool


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Zeichensatz/Umlaute
#1
Vielen Dank für dieses überaus nützliche Programm!

Meine Aufgabenstellung ist die Konvertierung einer kml-Datei in das gpx-Format. Ein Datensatz der kml-Datei schaut so aus:
<Placemark>
<name>Branntweinschaenker</name>
<Point>
<coordinates>16.3328628540039,48.196949005127</coordinates>
</Point>
<Style>
<IconStyle>
<Icon>
<href>http://rapid.iam.at/i/r.png</href>
</Icon>
</IconStyle>
</Style>
</Placemark>

So funktioniert es. Wenn aber das Wort "Branntweischaenker" mit Umlaut, also "Branntweinschänker" geschrieben wird, ist das Resultat falsch (die Positionen liegen alle bei 0,0 am Äquator).

Der verwendete Kopf ist :
<?xml version="1.0" encoding="utf-8"?>
<kml xmlns="http://earth.google.com/kml/2.0">

Wenn ich die kml-Datei in Google-Earth anzeigen lasse, funktioniert sie fehlerfrei, egal, ob mit oder ohne Umlaut.

Ich habe ohne Erfolg versucht zwischen ANSI- und UTF-8-Kodierung umzuschalten.

Die kml-Datei wird mit VBA generiert (und das dürfte auch der Fehler sein), denn wenn ich die Umlaute in der entstehenden Datei mit einem anderen Editor (Notepad+) verändere, kann der RouteConverter diese dann lesen.

Der Fehler ist also der, dass Zeichen außerhalb des definierten Zeichensatzes nicht zu einer Fehlermeldung (oder zu einer Tolerierung des Fehlers) führen sondern zu einer fehlerhaften Umwandlung.

Danke, Franz
Reply
#2
Hallo Franz,

Dein Problem besteht darin, daß Du zwar UTF-8 in der XML Declaration verwendest, jedoch Deine Umlaute weiterhin ISO 8859-1 kodiert sind. Ein ä in UTF-8 ist U+00E4 bzw. hexadezimal c3 a4. Wenn Du mit der Kodierung nicht aufpaßt, steht es bei Dir in ISO 8859-1 kodiert als e4 da.

Google Earth mag das lesen, doch m.E. interpretiert deren XML-Parser die Standards sehr frei.
--
Christian
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)