# Encoding Problem mit Umlauten beim parsen vom XML datei



## tzippy (6. Dezember 2009)

Hallo!

Ich habe ein Problem mit einer xml datei. diese hat leider keine codierung angegeben, sondern nur: 

<?xml version="1.0"?>

Trotzdem stehen aber umlaute in der datei.
Hinterher bekomme ich diese Fragezeichensymbole in meinem Widget:






hat jemand eine idee wie ich das abfangen kann?
danke!


----------



## Sven Mintel (6. Dezember 2009)

Moin,

abfangen eher nicht, aber korrigieren.
Es hat den Anschein, als würde dort ISO-Kodierung ankommen, aber die Ausgabe als UTF-8 deklariert.

Also entweder: Dokumente UTF-8 -kodiert speichern, oder dem Clienten den korrekten Zeichensatz mitteilen.

Wie genau du das zu machen hättest, hängt davon ab, was du mit "Widget" meinst...der Begriff ist ja recht wage.


----------



## tzippy (6. Dezember 2009)

Achso, haette ich vll erläutern sollen.
also das widget ist in "dashode" in OSX erstellt. ein entwicklungstool von Apple für Widgets. Gibts glaub ich auch mittlerweile bei windows oder yahoo oder google (gadgets).
Die XML datei liegt leider auf einem entfernten Server. da laesst sich wohl nichts dran aendern.
Ich weiß leider nicht wie ich den Zeichensatz ändern kann in Javascript...
wäre aber dankbar fuer hinweise!

Im htmld <head> tag vielleicht?
was fuer einen zeichensatz muss ich denn angeben wenn der der XML datei nicht angegeben istß


----------



## Sven Mintel (6. Dezember 2009)

Das könnte ich dir evtl. sagen, wenn ich wüsste:
1. wie das HTML-Dokument codiert
2.wie das XML-Dokument codiert ist


----------



## tzippy (6. Dezember 2009)

Also die XML hat keine codiereung angegeben. ich weiß nicht, welche da standardmaessig verwendet wird?


In der html wird das js script in UTF-8 codiert:

<script type="text/javascript" src="main.js" charset="UTF-8"></script>


----------



## Sven Mintel (7. Dezember 2009)

Es geht nicht primär darum, was dort angegeben ist als Kodierung, sondern wie es reell kodiert ist(in welcher Kodierung die Datei bspw. gespeichert wurde).

Kodierung erfolgt nicht durch Angabe eines Zeichensatzes...diese charset-Angaben sind lediglich ein Hinweis für den Clienten(in deinem Fall ein falscher)


----------



## tzippy (7. Dezember 2009)

wie kann ich denn rausfinden in welcher Codierung die XML datei ist?
ich würde den link hier ungern posten, da es sich dabei um hochschulinterne informationen handelt....


----------



## Sven Mintel (7. Dezember 2009)

Am Sichersten wäre es, wenn du die Datei herunterlädts und im Editor öffnet....der Editor sollte dir die Kodierung verraten.

Der Browser sollte diese Info auch parat haben. 
Das wäre allerdings nicht unbedingt verlässlich, weil er sich auf die vom Server gesendeten Header bezieht, die könnten auch falsch sein.


----------



## tzippy (7. Dezember 2009)

Das ist auch ein Problem. Zumindest mit Textedit unter OSX. Das sagt mir Textedit:

"Das Dokument „meldungen.xml“ konnte nicht geöffnet werden. Die Textcodierung „Unicode (UTF-8)“ kann nicht angewendet werden.
Die Datei wurde möglicherweise mit einer anderen Textcodierung gesichert oder es handelt sich nicht um eine Textdatei."

Selbst mein Browser gibt mir eine Fehlermeldung:
http://dl.getdropbox.com/u/1144075/Bildschirmfoto 2009-12-07 um 19.08.37.png

Gerade hab ich's allerdings mal in XMLSpear geöffnet und das lässt mich am Anfang die Datei bei verschiedenen Kodierungen anzeigen.
Hat sich herausgestellt dass sie bei ISO-8859-1 korrekt angezeigt wird. Mit allen Umlauten!

Werde die Codierung jetzt mal entsprechen festlegen in der HTML Datei
Besten Dank aber auf jeden Fall!


----------

