RSS Import - Problem mit Umlauten und Sonderzeichen

fullmonty
Beiträge: 11
Registriert: So 19. Feb 2006, 21:55
Wohnort: Schweiz
Kontaktdaten:

RSS Import - Problem mit Umlauten und Sonderzeichen

Beitrag von fullmonty »

Hilfe!

Habe den folgenden RSS-Feed in meine Seite eingebaut (und auch andere).

Code: Alles auswählen

http://news.google.ch/nwshp?tab=wn&ned=de_ch&topic=t&output=rss
Das Kind läuft prächtig, nur leider werden die Umlaute und Sonderzeichen falsch angezeigt.

Habe jetzt mehrmals im Forum nach einer Lösung gesucht.
Der Ansatz in folgendem Thread habe ich auch durchgespielt. Leider ohne Erfolg.
http://www.contenido.de/forum/viewtopic.php?t=10882

Auch dieser brachte nichts:
http://contenido.org/forum/viewtopic.php?t=11247

Kann mir da jemand helfen?

Herzlichen Dank.
rezeptionist
Beiträge: 1536
Registriert: Fr 20. Aug 2004, 10:07
Kontaktdaten:

Beitrag von rezeptionist »

Versuche bitte nocheinmal den 2ten link, nachdem du die Änderungen gemacht hast leere einmal deinen con_code (leeren nicht löschen) und deinen Browsercache, dann sollte es gehen.
greets
fullmonty
Beiträge: 11
Registriert: So 19. Feb 2006, 21:55
Wohnort: Schweiz
Kontaktdaten:

Beitrag von fullmonty »

Was meinst Du mit con_code? Wo finde ich den?
Gruss
mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag von mvf »

fullmonty hat geschrieben:Was meinst Du mit con_code? Wo finde ich den?
Gruss
die tabelle con_code aber wie gesagt LEEREN nicht löschen
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
rezeptionist
Beiträge: 1536
Registriert: Fr 20. Aug 2004, 10:07
Kontaktdaten:

Beitrag von rezeptionist »

In deiner Datenbank (Wiederholung LEEREN nicht löschen)
greets
fullmonty
Beiträge: 11
Registriert: So 19. Feb 2006, 21:55
Wohnort: Schweiz
Kontaktdaten:

Beitrag von fullmonty »

Danke für die Hilfe, leider hauts immer noch nicht hin...

Hier eine kleine Rekapitulation was ich gemacht habe:
1.) Code im Modul RSS Reader wie folgt angepasst (title ohne html_entities am Ende. Da ich nur den Title ausgebe, hab ich auch nur diesen angepasst).

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);
$sFeedContent = utf8_decode($sFeedContent);

$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", $item['title']); 
$tpl->set("d", "LINK", htmlentities($item['link'],ENT_QUOTES));
$tpl->set("d", "DESCRIPTION", utf8_decode(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]");
?>
2.) Dann habe ich die Tabelle con_code geLEERT und nicht gelöscht. Hab den Cache geleert und jetzt siehts so aus (gebracht hats nichts).
Bild

Ich verwende das HTML-Template "rss.html" mit folgendem Code:

Code: Alles auswählen

<!-- BEGIN:BLOCK -->
<a target="_blank" href="{LINK}">{TITLE}</a><br><br>
<!-- END:BLOCK -->
any ideas?
Danke
R.
mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag von mvf »

nur mal so zur info

habe in eine standard 464 deinen rss link eingegeben

http://news.google.ch/nwshp?tab=wn&ned= ... output=rss

sprengt alles :?
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
rezeptionist
Beiträge: 1536
Registriert: Fr 20. Aug 2004, 10:07
Kontaktdaten:

Beitrag von rezeptionist »

Versuch mal nen anderen Feed, und teile uns mit ob es da auch noch passiert ansonsten poste mal den Headteil deines Layouts !
greets
rezeptionist
Beiträge: 1536
Registriert: Fr 20. Aug 2004, 10:07
Kontaktdaten:

Beitrag von rezeptionist »

Wie gesagt versuch mal nen anderen ! :wink:
greets
fullmonty
Beiträge: 11
Registriert: So 19. Feb 2006, 21:55
Wohnort: Schweiz
Kontaktdaten:

Beitrag von fullmonty »

Sorry, für die vorschnelle Antwort. Also hab den folgenden Feed eingebaut
http://www.microsoft.com/germany/msdn/rss/aktuell.xml

und folgende Resultat erhalten:

Bild

Hier mein Header:

Code: Alles auswählen

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>qualityandvalue.ch - managing your present, preparing your future</title>
<style type="text/css">
<!--
body {
	margin-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
}
#claim {
	position:absolute;
	width:34px;
	height:650px;
	z-index:1;
	left: 17px;
}
}
#misc {
	position:absolute;
	width:206px;
	height:149px;
	z-index:2;
	left: 700px;
	top: 283px;
}
#logo {
	position:absolute;
	width:206px;
	height:224px;
	z-index:2;
	left: 572px;
	top: 0px;
}
#content {
	position:absolute;
	width:298px;
	height:334px;
	z-index:3;
	left: 262px;
	top: 25px;
}
#nav {
	position:absolute;
	height:53px;
	z-index:4;
	left: 50px;
	top: 25px;
}
-->
</style>
<link href="css/style.css" rel="stylesheet" type="text/css" />
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
</head>
Danke für Eure Feedbacks.
R.
rezeptionist
Beiträge: 1536
Registriert: Fr 20. Aug 2004, 10:07
Kontaktdaten:

Beitrag von rezeptionist »

jetzt noch ne Frage was steht den bei dir Im Browser zb. FF unter Ansicht Zeichenkodierung ???
greets
fullmonty
Beiträge: 11
Registriert: So 19. Feb 2006, 21:55
Wohnort: Schweiz
Kontaktdaten:

Beitrag von fullmonty »

western iso-8859-1
rezeptionist
Beiträge: 1536
Registriert: Fr 20. Aug 2004, 10:07
Kontaktdaten:

Beitrag von rezeptionist »

hm soweit ich sehen kann müsste es gehen einzige auffälligkeit beim drüberschauen ist die eine Klammer zuviel nach claim }. Ich muss mal schauen, wenn ich heute nacht dazukomme das ich es mal auf ner Seite von mir versuche, kann aber nichts versprechen.
greets
fullmonty
Beiträge: 11
Registriert: So 19. Feb 2006, 21:55
Wohnort: Schweiz
Kontaktdaten:

Beitrag von fullmonty »

Wäre wirklich toll! Würde Dir ein Denkmal bauen :)

Habe der Schönheit wegen noch die Klammer gelöscht.

Herzlichen Dank.
R.
rezeptionist
Beiträge: 1536
Registriert: Fr 20. Aug 2004, 10:07
Kontaktdaten:

Beitrag von rezeptionist »

so bei mir gehts jetzt nimm den Originalcode und tausche folgendes aus

Code: Alles auswählen

$regExp = "/<\?xml.*encoding=[\"\'](.*)[\"\']\?>/i"; 
gegen

Code: Alles auswählen

$regExp = "/<\?xml.*encoding=[\"\'][\"\']\?>/i";
Und bitte frag nicht warum es so geht, müsste mich erst mal richtig in die Thematik einlesen :wink:
greets
Gesperrt