Antman: Unicode aus DB wird zu ISO in XML. Warum?

Beitrag lesen

Hallo Forum,

Ich habe in meiner DB alles in UTF gespeichert, Nun baue ich eine XML Datei wie unten. Diese zeigt aber wieder als Umlaute schwarze Kästchen an und der Browser schaltet auf westliches ISO. Im Quelltext der XML sieht die erste Zeile so aus:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?><events>

Woher kommt dieses komische zeichen am Anfang. Kommen die Probleme von diesem?

<?php
include("../../../config/config.php");
$connection = mysql_connect($host, $user, $pass) or die ('cannot reach database');
$db = mysql_select_db($database) or die ("this is not a valid database");

$language = "de";

$res = mysql_query("
    SELECT
        *, DATE_FORMAT(date_s, '%d.%m.%Y') AS date_start
    FROM
        events
    WHERE
        lang = '".$language."'
    AND
        date_s BETWEEN CURDATE() AND ADDDATE(CURDATE(), INTERVAL 200 DAY)
    AND
        active = 'y'
    ORDER BY date_s ASC ");

$events = array();
while($event = mysql_fetch_assoc($res)) {
   $events[] = $event;
}
echo "<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>";
echo "<events>\n";
// Eventschleife
for($i=0; $i < count($events); $i++) {
    echo "<event>\n";
 echo "<title  id="".$events[$i]['id']."">".$events[$i]['headline']."</title>\n";
 echo "<city>".$events[$i]['city']."</city>\n";
    echo "<start>".$events[$i]['date_s']."</start>\n";
 echo "<end>".$events[$i]['date_e']."</end>\n";
 echo "<referent>".$events[$i]['referent']."</referent>\n";
    echo "<contact>".$events[$i]['contact']."</contact>\n";
    echo "<email>".$events[$i]['email']."</email>\n";
    echo "<tel>".$events[$i]['tel']."</tel>\n";
 echo "</event>\n";
}
echo "</events>\n";
?>