Encoding-Frage für kml-File

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
Käptn Haddock
User
Beiträge: 168
Registriert: Freitag 24. März 2006, 14:27

Dienstag 27. Januar 2009, 09:33

Hallo Forum!

Ich habe ein kleines Script geschrieben, das mir aus meiner PostGIS-Datenbank geometrische Objekte als kml erzeugt und in ein Template schreibt, das in Google-Earth bearbeitet werden soll. Dazu nutze ich die Genshi-Templateengine (wobei das mein erster Ausflug in diesen Bereich darstellt). Im Grossen und Ganzen erzeuge ich mir der Abfrage 3 Strings für ein Objekt(Name, Description, Geometrie im kml-Format), was auch gut funktioniert. Nach dem ich die Umlaute in Name und Description niedergerungen habe tritt noch folgendes Problem auf: die '<' und '>' erscheinen in der Ausgabe als '<' und '>'.
Die einzelnen Ausgaben des Geometrie-Strings sehen folgendermassen aus:

Direkt aus dem Cursur der der DB-Abfrage:

Code: Alles auswählen

'<Point><coordinates>9,49</coordinates></Point>' 
Nach dem Schreiben ins kml-file:

Code: Alles auswählen

<Point><coordinates>9,49</coordinates></Point>
Ich habe da schon verschiedentlich mit encode und decode und den errors-Parametern ohne Erfolg experimentiert, das Encoding des Scripts steht auf utf-8. Daher die Frage: Wie krieg ich die Orginalzeichen in das kml-File?
Vielen Dank für Tips und Hinweise.

Gruß Uwe
---------------------------------
have a lot of fun!
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Dienstag 27. Januar 2009, 09:52

Du musst den String AFAIR in ``Markup()`` wrappen.
Benutzeravatar
Käptn Haddock
User
Beiträge: 168
Registriert: Freitag 24. März 2006, 14:27

Dienstag 27. Januar 2009, 16:29

Danke mal für den Hinweis. Ich werde mal danach suchen.
Als sehr unschöner Workaround hab ich das jetzt mal aus Stings zusammengenagelt weils gebraucht wird. Aber das wird zur weiteren Verwendung noch richtig gemacht.

Gruß Uwe
---------------------------------
have a lot of fun!
Antworten