Moin!
Innerhalb der XML-Datei werden Umlaute bzw. Sonderzeichen so dargestellt:
<name>Christoph H. Müller</name>
[...]
> Will ich die XML nun darstellen (Firefox 3.0, IE7 und XMLSpy), erscheint folgendes: Christoph H. Müller
>
> Das gleiche passiert auch mit "ISO-8859-1"!
>
> Frage: Warum werden die Umlaute nicht richtig dargestellt???
Weil deine Quelldaten fehlerhaft sind.
Im XML stehen zwei numerische Zeichenreferenzen. Numerische Zeichenreferenzen (NCR = numeric character reference) verwendet man dann, wenn man unabhängig vom Encoding besondere Zeichen außerhalb des ASCII-Bereichs (7 Bit! Also keine Umlaute etc, nur A-Z und wenige andere Satzzeichen) verwenden will.
Die in der numerischen Zeichenreferenz anzugebende Nummer ist der Unicode-Codepoint. Das wird hier aber nicht gemacht. Hier wird das "ü" nicht durch eine NCR codiert, sondern durch zwei. Nämlich genau die zwei, die die Bytes darstellen, die entstehen, wenn man ein "ü" als UTF-8 codiert.
Sprich: Du kriegst aus deiner Datenquelle die UTF-8-Bytes des "ü", aber kein eigentliches "ü", sondern stattdessen die zwei Zeichen "A-Tilde" und "ein-viertel", und alle deine nachfolgenden Tools beachten treu und brav diese Angaben und sorgen dafür, dass "A-Tilde ein-viertel" auch am Ende rauskommen.
Es gibt folglich zwei Möglichkeiten, das Problem anzupacken: Die korrekte Vorgehensweise wäre, die Quelle zu korrigieren. Also bei DISCOGS anzuklopfen und das Problem anzusprechen, in der Hoffnung, dass die es korrigieren können. Dann bräuchtest du selbst nichts zu ändern.
Die andere Methode wäre, die fehlerhaften Codierungen, die dir auffallen, "manuell" (also in einer Programmroutine) durch Suchen/Ersetzen durch die korrekten Umlaute zu ersetzen. Das Problem dabei: Die Wahrscheinlichkeit, dass tatsächlich mal irgendein Name zu Recht "A-Tilde ein-viertel" enthält, ist ja nicht Null, sondern vorhanden - und würde dann fälschlich zum "ü". Dieses Risiko würde nur verschwinden, wenn die Quelle korrekt arbeiten würde - weshalb das eben die korrekte Vorgehensweise ist, deine manuelle Korrektur nur ein Hilfskonstrukt.
- Sven Rautenberg
--
"Love your nation - respect the others."