UTF-8 nach ISO-8859-1

Ein UTF-8 basierter RSS-Feed soll auf einer Site mit ISO-8859-1 Kodierung gerendert werden.
An der Kodierung soll festgehalten werden.

Ich gebe dem xml Parser beim Erstellen explizit das Encoding der Quelle an:

$xml_parser = xml_parser_create(“UTF-8”);

Die so empfangenen Zeichen kann ich jedoch nicht direkt ausgeben, weil die Site ja in ISO-8859-1 ausgegeben wird. Diverse Sonderzeichen werden als Fragezeichen dargestellt.

Abhilfe schafft dieser Workaround:

echo mb_convert_encoding($text, ‘HTML-ENTITIES’, “UTF-8”);

Weiterführende Artikel:
FAQ: Changing (X)HTML page encoding to UTF-8
de.php.net/mbstring

2 comments Write a comment

  1. Um xml-konform arbeiten zu können, reicht das aber nicht, weil jedes ‘&’ als Fehler ausgewertet wird. Abhilfe schafft, den konvertierten Text in CDATA einzuschließen:
    echo “”;