RSS Reader Problem
RSS Reader Problem
Mein CMS läuft auf UTF-8, jetzt lade ich einen RSS ein und die Umlaute sind nicht sauber dargestellt. Die Headline mit Link habe ich schon hinbekommen, aber die DESCRIPTION ist mit ä statt ä, was kann ich machen, wo muss ich dran drehen.
-
- Beiträge: 298
- Registriert: Di 16. Nov 2004, 15:43
- Wohnort: Arnstadt / Thüringen
- Kontaktdaten:
Hiho,
Schau mal bitte in deinen Html-Code. Ich vermute, dass dort was von ä steht. Deswegen erhälst Du als Ausgabe das Literal "ä". Würde dort die Entität ä stehen, müsste eigentlich ein ä in deinem Browser erscheinen.
Poste doch einfach mal den Quellcode deines RSS-Moduls.
Gruss,
Christian
Schau mal bitte in deinen Html-Code. Ich vermute, dass dort was von ä steht. Deswegen erhälst Du als Ausgabe das Literal "ä". Würde dort die Entität ä stehen, müsste eigentlich ein ä in deinem Browser erscheinen.
Poste doch einfach mal den Quellcode deines RSS-Moduls.
Gruss,
Christian
Danke für die schnelle Antwort, du hast recht.
Das hier steht hinter dem Wort für: für
Hier der Orginalcode vom RSS Reader Version 4.6.4
Das hier steht hinter dem Wort für: für
Hier der Orginalcode vom RSS Reader Version 4.6.4
Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : Insert RSS feed
* Authors: : Timo Hummel, Andreas Lindner
* Copyright : Contenido - four for business
* Created : 30.09.2005
************************************************/
cInclude("pear", "XML/Parser.php");
cInclude("pear", "XML/RSS.php");
if ("CMS_VALUE[0]" == "")
{
$sFeed = "http://www.contenido.org/rss/de/news";
} else {
$sFeed = "CMS_VALUE[0]";
}
if ("CMS_VALUE[2]" == "")
{
$FeedMaxItems = 999;
} else {
$FeedMaxItems = intval("CMS_VALUE[2]");
}
/* Preparse feed for an encoding due to the poorly designed
PHP XML parser */
$sFeedContent = substr(@file_get_contents($sFeed),0,1024);
$regExp = "/<\?xml.*encoding=[\"\'](.*)[\"\']\?>/i";
preg_match($regExp,trim($sFeedContent),$matches);
if ($matches[1])
{
$rss =& new XML_RSS($sFeed, $matches[1]);
} else {
$rss =& new XML_RSS($sFeed);
}
$rss->parse();
$tpl = new Template;
$i = 0;
foreach ($rss->getItems() as $item)
{
if ($i < $FeedMaxItems) {
$tpl->set("d", "TITLE", htmlentities($item['title'],ENT_QUOTES));
$tpl->set("d", "LINK", htmlentities($item['link'],ENT_QUOTES));
$tpl->set("d", "DESCRIPTION", htmlentities($item['description'],ENT_QUOTES));
$tpl->set("d", "READ_ON", mi18n("weiterlesen"));
$tpl->next();
}
$i++;
}
$tpl->generate($cfgClient[$client]["path"]["frontend"]."templates/"."CMS_VALUE[1]");
?>
-
- Beiträge: 298
- Registriert: Di 16. Nov 2004, 15:43
- Wohnort: Arnstadt / Thüringen
- Kontaktdaten:
Probiere doch einfach mal:
statt
Gruss,
Christian
Nachtrag: Sicherlich bekommst Du deinen Feed schon mit Html-konformen Umlauten, sprich Entitäten. Werden diese Entitäten (z.b. &aauml;) durch die Funktion htmlentities erneut codiert, kommt natürlich Murx als Ergebnis raus.
Code: Alles auswählen
$tpl->set("d", "DESCRIPTION", $item['description']);
Code: Alles auswählen
$tpl->set("d", "DESCRIPTION", htmlentities($item['description'],ENT_QUOTES));
Christian
Nachtrag: Sicherlich bekommst Du deinen Feed schon mit Html-konformen Umlauten, sprich Entitäten. Werden diese Entitäten (z.b. &aauml;) durch die Funktion htmlentities erneut codiert, kommt natürlich Murx als Ergebnis raus.
-
- Beiträge: 298
- Registriert: Di 16. Nov 2004, 15:43
- Wohnort: Arnstadt / Thüringen
- Kontaktdaten:
Einfach
vor die Zeile
setzen!
Aber Achtung: Ist ungetestet!
Code: Alles auswählen
if(strlen($item['description']) > 200) $item['description'] = substr($item['description'], 0, 200)."...";
Code: Alles auswählen
$tpl->set("d", "DESCRIPTION", $item['description']);
Aber Achtung: Ist ungetestet!