php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Zeichensatz - RSS Newsfeed - SimpleXML


 
markusschmitt
17-09-2004, 19:16 
 
Wenn ich z.B. auf die Description mittels $node->description z.B. zugreife, bekomm ich ä ö ü nicht zurück sondern nur z.B. statt einem ö => ö.

File:
<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="0.92">
...

Woran liegt das? Umlaut sollten doch erlaubt (siehe encoding Attribut) und korrekt zurückgegeben werden!

Beispiel Ausgabe: Link (http://www.mi-ernst.de/newsfeed/newsfeed.php5?newsfeed=allgemein)
XML -> Link (http://www.mi-ernst.de/newsfeed/allgemein.xml)

MfG Markus

 
myfavour
17-09-2004, 20:52 
 
hallo,

womöglich liegts ja daran:

Encoding
While RSS 0.9 supported only ASCII encoding, RSS 1.0 assumes UTF-8. Using US-ASCII (i.e. encoding all characters over 127 as &#nnn; ) is conformant with UTF-8 (and ISO-8859-1, HTTP's default header encoding).

Quelle: web.resource.org/rss/1.0/spec (http://web.resource.org/rss/1.0/spec)

 
markusschmitt
18-09-2004, 15:47 
 
Also ich hab's jetzt auf 1.0 umgestellt. Also RDF. Ich bekomms net hin. Ich kann die meisten Zeichen mit & #xxx; ersetzen und wird auch im Browser richtig angezeigt. Leider gehört äöüÄÖÜ zumindest nicht dazu. Sonst noch jemand eine Idee?

MfG Markus

 
myfavour
19-09-2004, 08:11 
 
hallo,

eine hätt' ich noch

ich geh mal davon aus, daß deine News, aus der Datenbank kommen --> und diese sind aller voraussicht nach utf-8
kannst Du in der Console mittels simplen select überprüfen

kopier Dir mal den folgenden Code:

$dtumlstring = "äöü";
echo "ORIGINAL: ".$dtumlstring;
echo "<br />HTMLENTITIES: ".htmlentities($dtumlstring);
echo "<br />UTF8_ENCODE: ".utf8_encode($dtumlstring);
echo "<br />UTF8_DECODE: ".utf8_decode(utf8_encode($dtumlstring));

sollte die 3 oben verwendeten Funktionen veranschaulichen

PS: Browser/Dokument Einstellung sollte ISO-8859-1 (Western Europe) sein

 
markusschmitt
19-09-2004, 11:51 
 
Also, ich musste utf8_decode auf den String anwenden. SimpleXML wendet anscheinend utf8_encode auf den String an!

MfG Markus


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:35 Uhr.