RSS Fees Problem wegen Umlauten

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • RSS Fees Problem wegen Umlauten

    Hallo, ich benutze ein Newsscript ( von www.stylemotion.de ) das die Nachrichten auch in einem RSS Feed ausgibt. Leider gibt es Probleme mit den Umlauten wegen denen man den Feed nicht mit Firefox/Thunderbird abonnieren kann und auch einige andere Reader machen Probleme.

    Umlaute werden nicht normal als ä. ö. oder ü ausgegeben, sondern in einem Code der auch Problemlos vom Browser erkannt wird, aber eben nicht von den Feedreadern.


    "ä" = "& a u m l ;"
    (hab zwischen jedem Zeichen eine Leertaste gemacht, weil es sonst umgeändert wird)

    Der Code aus dem Script sieht wie folgt aus:
    PHP-Code:
    //*********************************************************
    //****************  PARSER: RSS-FEEDBACK  *****************
    //*********************************************************

        //Sicherheitsabfrage
        if ( !is_object($this) ) {
        echo"FEHLER: Das Script wurde falsch eingebunden! 
    Alle Dateien aus dem Ordner 
    "parse" 
    sind NICHT zum includen bestimmt. Lesen Sie die 
    Readme um WEB//NEWS richtig einzubinden.";
        return;
        }
        
        //Newskats
        if ( $this->set['usekats'] ) {
        $this->query("SELECT id,name FROM ".PRE."_newscat");
            while($res=$this->fetch()) $cat[$res['id']]=$this->replace($res['name']);
        $this->free();
        }

    echo'<?xml version="1.0" encoding="ISO-8859-1"?>'."\n";
    ?>
    <rss version="2.0">
    <channel>
    <title><?=$this->set['title']; ?></title>
    <link><?=$this->set['http'].$this->set['newspage'].
    $this->iif($this->set['newsparams'],"?".
    $this->set['newsparams']); ?></link>
    <description>Newsfeed von:
     [url]www.meine-seite.de[/url]</description>
    <generator>Webnews 1.4 - 
    [url]www.stylemotion.de[/url]</generator>

    <?php

    $this
    ->query("SELECT id,catid,pubtime,ext_user,topic,text FROM ".PRE."_news 
    WHERE ( ( pubtime AND pubtime<='"
    .time()."' ) 
    AND ( endtime='0' OR endtime>'"
    .time()."' ) ) ORDER BY pubtime DESC LIMIT 20");
        while(
    $res=$this->fetch()) {
        
        
    //Text parsen
        
    list($res['text'])=explode("[MEHR]",
    eregi_replace("\[mehr\]","[MEHR]",$res['text']));
        if ( 
    $this->set['usehtml'] && eregi("[html]",$res['text']) && eregi("[/html]",
    $res['text']) ) {
        
    $thetext=$this->codes($this->replace(preg_replace("/\[html\](.*?)\[\/html\]/sie""\
    $this->htmlcodecache('\\1')",$this->aliases($res['text']))),
    $this->set['useimg']);
            if ( 
    is_array($this->htmlcode) ) foreach($this->htmlcode AS $key => $value
    $thetext=str_replace("%HTMLCODE#".$key."%",$value,$thetext);
        }
        else 
    $thetext=$this->codes($this->replace($this->aliases($res['text'])),
    $this->set['useimg']);    

    ?>

    <item>
    <title><?=$this->replace($res['topic'],1); ?></title>
    <description><?=strip_tags(str_replace("\r","",str_replace("\n"," ",$thetext))); ?>
    </description>
    <category><?=$cat[$res['catid']] ?></category>
    <pubDate><?=date("r",$res['pubtime']) ?></pubDate>
    <link><?=$this->set['http'].$this->set['newspage'].'?id='.
    $res['id'].$this->iif($this->set['newsparams'],"&amp;".
    $this->set['newsparams']); ?></link>
    </item>

    <?php
        
    }
    $this->free();

    ?>

    </channel>
    </rss>
    und die Datei die den RSS Feed hinterher ausgibt sieht so aus

    PHP-Code:
    <?php 

    $WN_BASEDIR
    =dirname(__file__);
    require(
    $WN_BASEDIR."/parse/parser.php");

    //Execute Script
    $WN->wnprint("rss");

    ?>
    Kann mir da einer weiterhelfen? Ich hab wirklich keien Ahnung, was ich jetzt noch machen kann. Der Autor des Scriptes hat keine Lust sich dem Problem anzunehmen, da er an einem anderen Projekt arbeitet und bis jetzt konnte mir niemand anderes helfen.

    Wäre nett, wenn mir jemand dabei helfen könnte.

    Mit besten Grüßen

    Sabine
    Zuletzt geändert von 00005358; 18.02.2005, 10:09.

  • #2
    Re: RSS Fees Problem wegen Umlauten

    Original geschrieben von 00005358
    Ich hab wirklich keien Ahnung, was ich jetzt noch machen kann.
    erst mal kannst du dies hier lesen und befolgen, danke.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Wenn es jetzt wirklich um den Scrollbalken ging, bei 1024px Breite haut es hin…

      Das Script selber kann ich nicht verkleinern, da ich mich nicht auskenne und nicht weiß, um welchen Bereich es geht.

      Was passieren soll und was passiert habe ich beschrieben und eine Fehlermeldung gibt’s nicht, wenn man die Seite aufruft, es kommt einfach nur ein Feed in dem alle ä´s, ö´s, ü´s falsch dargestellt werden (eben wie oben beschrieben).

      Hier ein Thread beim Hersteller wo das Problem noch mal beschrieben wird: http://stylemotion.de/channels/thread.php?id=536

      und hier noch einer, wo auf die Datei die ich oben zitiert hab hingewiesen wird und dass es sich bei dem Fehler um einen Fehler beim ersetzen der Sonderzeichen handelt.

      http://stylemotion.de/channels/thread.php?id=574

      Beispiel Feed gibt’s von der Herstellerseite:

      http://webnews.stylemotion.de/admin/rss.php

      Wenn man sich diesen Feed mit IE anschaut, sieht man gar nichts. Bei Firefox sieht man durchgehend Text. Wenn man dann auf Ansicht > Quelltext geht, sieht mann, wie die Sonderzeichen angezeigt werden.

      http://feedvalidator.org

      Da kann man sich die Fehler noch mal anzeigen lassen. Ist mir wirklich wichtig, da ich das Newsscript sonst absolut super findet und nur dieses eine Problem damit habe.

      Hoffe ich hab jetzt richtig gepostet…

      Kommentar


      • #4
        RSS mag keine benannten entities für umlaute.

        statt &amp;auml; müsstest du also &amp;amp;auml; liefern - das können die RSS-reader dann wieder korrekt anzeigen.

        für den neuen RSS2.0-feed meines weblogs nutze ich für das parsen der texte die gleichen funktionen wie für die HTML-anzeige, und jage nachher nur noch mal htmlentities() drüber. das funktioniert problemlos im feedreader, firefox/sage, opera, bei bloglines.com, etc.
        und der feedvalidator ist auch zufrieden.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Und wie muss ich den oben zitierten code ändern, damit das endlich klappt?

          Habe da wie gesagt keine Ahnung von und bräuchte jemanden, der mir das erklären könnte, oder mir einfach den fertigen Code gibt

          Mit besten Grüßen

          Kommentar


          • #6
            *verschieb* nach codegegammel

            wenn du ein paar grundlagen besitzt, hilft dir sicher auch folgender Text weiter: htmlentities

            Kommentar


            • #7
              wenn du ein paar grundlagen besitzt, hilft dir sicher auch folgender Text weiter: htmlentities
              Leider besitze ich eben diese nicht. Könnte mir da nicht jemand helfen und kurz sagen, was ich in die Datei einfügen muss, damit die Sonderzeichen normal dargestellt werden?

              Mit besten Grüßen

              Kommentar

              Lädt...
              X