Sonderzeichen werden bei RSS Feeds nicht richtig dargestellt

davy1993

Well-known member
ID: 396641
L
4 Januar 2008
2.947
77
Hi !

Auf meiner Seite

https://davidlohmann.de/test/service.php

habe ich RSS-Feeds, wo die Sonderzeichen nicht richtig dargestellt werden.

Hier eins meiner Scripte:

PHP:
<?php
$inhalt="https://www.tvmovie.de/rss/tv2015.xml";
$website="https://www.tvmovie.de";

if (@fopen("$inhalt", "r") != "")
{

$quelle = @file($inhalt); 
$data = implode ("", $quelle);

preg_match_all("|<item>(.*)</item>|Uism",$data, $items, PREG_PATTERN_ORDER);
if (count($items[1])==0) {
preg_match_all("|<item .*>(.*)</item>|Uism",$data, $items, PREG_PATTERN_ORDER);
}
for ($i=0; $i<14; $i++) { preg_match_all("|<title>(.*)</title>(.*)<link>(.*)</link>|Uism",$items[1][$i], $regs, PREG_PATTERN_ORDER);
preg_match_all("|<pubDate>(.*)</pubDate>|Uism",$items[1][$i], $regs2, PREG_PATTERN_ORDER);

$title = $regs[1][0];
$pubdate = $regs2[1][0];
echo '<br><span style="font-family:Arial;font-size:12px"><font color="#FF9900"><b>'.$pubdate.' </b></font><b><font color="#000080"> </font><font color="#FF9900"><a href="'.$regs[3][0].'" target="_blank"><font color="#000080">'.$title.'</font></a></font></b></span>'; 
}
}
?>

Könnt ihr mir helfen?

Das wäre super nett !
 
Wird Deine Seite in UTF-8 ausgeliefert? Wenn nicht, liegt dort vermutlich das Problem. Der Feed ist nämlich UTF-8.

Zur Abhilfe gibt's zwei Möglichkeiten:
  1. Du lässt Deine Seite auch in UTF-8 ausgeben.
  2. Du wendest auf die Feed-Inhalte utf8_decode() an.
 
Wird Deine Seite in UTF-8 ausgeliefert? Wenn nicht, liegt dort vermutlich das Problem. Der Feed ist nämlich UTF-8.

Zur Abhilfe gibt's zwei Möglichkeiten:
  1. Du lässt Deine Seite auch in UTF-8 ausgeben.
  2. Du wendest auf die Feed-Inhalte utf8_decode() an.


Kannst du mir dieses utf8_decode( mal bitte in meine echo Zeile einfügen, ich schaffe es irgendwie nicht :(

Könnt ihr mir bitte helfen?
Ich komm nicht weiter...
 
Zuletzt bearbeitet von einem Moderator:
Naja, Du musst es eigentlich nur auf die Strings anwenden, die Du aus dem Feed ausgibst (Links und Datumsangaben ausgenommen). Sprich: In Deinem Code oben wäre es das $title ganz unten.
 
Was ist an
PHP:
echo " /* ... */ " . utf8_decode($title) . " /* ... */ ";
so schwer zu verstehen?

Im Endeffekt kannste utf8_decode() auch einfach auf die reinkommenden Daten (also den Inhalt von $data) anwenden, dürfte keinen Unterschied machen.