Das liegt an der UTF8 Kodierung.
das ist ein bekanntes Problem
Probleme durch die UTF-8-Zeichenkodierung
Viele Ajax-Toolkits versenden XML-Daten, indem sie die in diesem Bereich gängige UTF-8-Zeichenkodierung [11] benutzen. Manche Toolkits erfordern es auch, dass XML-Daten, die vom Webserver zum Webbrowser des Nutzers geschickt werden, in UTF-8 kodiert sein müssen. Wenn die Webseite selbst aber eine andere Zeichenkodierung benutzt, kann dies zu Konflikten mit den UTF-8-basierten XML-Daten führen. Eine mögliche Ursache ist, dass in einem XML-Dokument keine Entity-Referenzen (character entity reference) wie z.B. ö für das Zeichen „ö“ verwendet werden können – es sei denn, sie sind in einer eingebetteten Dokumenttypdefinition definiert oder das XML-Dokument ist nach ISO-8859-1 Zeichenkodierung erstellt worden. HTML hingegen gibt zahlreiche solcher Entities vor. In XML-Dokumenten ohne Dokumenttypdefinition können hingegen nur numerische Zeichenreferenzen (numeric character reference) verwendet werden.
|
XML Code
|
1
2
3
4
|
<?xml version="1.0" encoding="utf-8" ?>
<anfang>
<copyright>© 2006 Hans Wurst</copyright>
</anfang>
|
Unicode-basierte XML-Dokumente verwenden numerische Zeichenreferenzen, HTML-Dokumente jedoch nicht zwangsweise.
|
HTML Code
|
1
2
3
4
5
6
7
8
|
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body>
<p>© 2006 Hans Wurst</p>
</body>
</html>
|
Da du den Inhalt ja sowieso mit php verarbeitest, würde ich dir einfach die FUnktion
htmlentities verwendest um die Umlaute zu kovertieren