Ollis: Einlesen von xml-Dokument ergibt fehlerhafte Zeichen

Beitrag lesen

Hi,

ich versuche gerade, mittels file_get_contents eine xml-Datei (genauer eine RSS-Datei) einzulesen. Wenn ich mir die Datei aber ausgeben lasse, sind alle Sonderzeichen zu '?' umgewandelt worden (benutze Charset UTF-8). Ich weiß nicht, wie ich das umgehen könnte. Habe folgendes probiert:

$patterns = array(
  '/ß/',     // ß
  '/Ä/', '/ä/',  // Ä, ä
  '/Ö/', '/ö/',  // Ö, ö
  '/Ü/', '/ü/'  // Ü, ü
);

$replacements = array(
  'ß',      // ß
  'Ä', 'ä',   // Ä, ä
  'Ö', 'ö',   // Ö, ö
  'Ü', 'ü'   // Ü, ü
);

$data = preg_replace($patterns, $replacements, file_get_contents($file));

// AUSGABE-Beispiele:
M?nchen
f?r
verk�rpert

Weiß jemand, warum das so ist oder wie ich das verhindern kann? Mein RSS-Parser "verschluckt" nämlich alle Zeichen vor einem Sonderzeichen. Seltsamerweise scheint nach dem ersten Sonderzeichen alles wieder richtig zu funktionieren.

Gruss Olli