20.01.2008, 12:18
Hallo,
mir ist ein Problem mit der Behandlung von Sonderzeichen im RSS-Feed aufgefallen.
Der Titel meines Forums (Boardname) enthält ein "&". Mein RSS wird in der Kodierung UTF8 ausgeliefert. Das "&" müsste laut Spezifikation doch (auch bei UTF8) als "&" kodiert ausgeliefert werden. Leider kommt folgendes heraus (im Quelltext bei RSS und Atom):
Das wird natürlich im Feedreader (getestet mit FF2 und IE7) nicht als "&" dargestellt.
Diese Kodierung für das "&" findet sich beim RSS-Feed in den Tags "title" und "description", im Atom-Feed in den Tags "title" und "subtitle". Bei der Ausgabe des RSS-Feeds im Browser/Feedreader erscheint
bei der Ausgabe des Atom-Feeds im Browser/Feedreader erscheint
Ansonsten arbeitet die Ausgabe der Feeds bei mir einwandfrei und auch die Umlaute werden korrekt dargestellt. Ich habe mir auch schon die Datei "class_feedgeneration.php" angesehen. In dieser Datei gibt es die Funktion "sanitize_content($content)". In dieser Funktion wird scheinbar erst eine Ersetzung des "&" durch "&" durchgeführt, danach wird das Ganze noch einmal per "htmlspecialchars_uni($content)" konvertiert (hierbei werden ja alle "&" durch "&" ersetzt, oder?).
Was kann man ändern, damit man
Gruß
Boardie05
mir ist ein Problem mit der Behandlung von Sonderzeichen im RSS-Feed aufgefallen.
Der Titel meines Forums (Boardname) enthält ein "&". Mein RSS wird in der Kodierung UTF8 ausgeliefert. Das "&" müsste laut Spezifikation doch (auch bei UTF8) als "&" kodiert ausgeliefert werden. Leider kommt folgendes heraus (im Quelltext bei RSS und Atom):
Code:
&
Diese Kodierung für das "&" findet sich beim RSS-Feed in den Tags "title" und "description", im Atom-Feed in den Tags "title" und "subtitle". Bei der Ausgabe des RSS-Feeds im Browser/Feedreader erscheint
Code:
&
Code:
&
Ansonsten arbeitet die Ausgabe der Feeds bei mir einwandfrei und auch die Umlaute werden korrekt dargestellt. Ich habe mir auch schon die Datei "class_feedgeneration.php" angesehen. In dieser Datei gibt es die Funktion "sanitize_content($content)". In dieser Funktion wird scheinbar erst eine Ersetzung des "&" durch "&" durchgeführt, danach wird das Ganze noch einmal per "htmlspecialchars_uni($content)" konvertiert (hierbei werden ja alle "&" durch "&" ersetzt, oder?).
Was kann man ändern, damit man
- eine XML bzw- Feed-konforme Ausgabe erhält und
- das "&" in der RSS- und Atom-Ausgabe richtig dargestellt wird?
Gruß
Boardie05