header("Content-type: text/xml; charset=utf-8");
Ah ja, jetzt wird wenigstens im Browser als Ausgabe der XML Baum ausgegeben und automatisch als Zeichnenkodierung UTF-8 gewählt.
Damit wäre diese Lücke in der "UTF-8-Kette" geschlossen.
Die Umlaute werden trotzdem nicht korrekt angezeigt.
Dann ist irgendwo noch eine Lücke. Versuche mal, mySQL explizit aufzufordern, mit deinem PHP-Script UTF-8 zu sprechen:
$query = "SET NAMES utf8";
$result = mysql_query($query) or die("Anfrage fehlgeschlagen: " . mysql_error());
Hilft das?
Siechfred