Hallo,
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).
Wo wird charset UTF-8 genutzt?
In welchem charset sind die Zeichen in der RSS-Datei kodiert?
Welches charset nutzt PHP?
$patterns = array(
'/ß/', // ß
'/Ä/', '/ä/', // Ä, ä
'/Ö/', '/ö/', // Ö, ö
'/Ü/', '/ü/' // Ü, ü
);$replacements = array(
'ß', // ß
'Ä', 'ä', // Ä, ä
'Ö', 'ö', // Ö, ö
'Ü', 'ü' // Ü, ü
);$data = preg_replace($patterns, $replacements, file_get_contents($file));
Du ersetzt z.B. das Vorkommen der Entity Ä durch die Entity Ä. Was soll das bringen? Meiner Meinung nach wird da gar nichts ersetzt. Es müssten nämlich die Entities Ä ... im RSS-File stehen.
Wenn die RSS-Datei in UTF-8 kodiert ist, dann musst Du http://de.php.net/utf8-decode benutzen.
viele Grüße
Axel