Samurize: RSS-Feeds unterstützen keine Umlaute

Hallo HaBo, ich bin auch mal wieder da :)

Bin mal wieder dem Deskmodding verfallen und hänge nun an Samurize, benutze ich jetzt erstmalig.
Wollte mir nun RSS-Feeds einbauen, Script gesucht (Erstmal ein funktionierendes finden :rolleyes: ), aber sowohl bei Spiegel als auch bei Heise werden statt ä ö ü nur die Zuständigen Zeichenfolgen angezeigt, ihr wisst schon: Ä1/4 und solche Spässe

Kann ich dies mit einem Plugin von Samurize ändern (Habe nichts gefunden) oder muss ich mich liebevoll an den Spiegel/Heise wenden...

Und wo wir gerade dabei sind...Ich bau mal fix den HaBo RSSFeed ein :)


Edit: Bravo, das HaBo zeigt Umlaute an! Muss ich mich wirklich an heise und spiegel wenden?^^
 
Das liegt mit ziemlicher Sicherheit am Zeichensatz.
Heise z.B. kommt in Unicode (UTF-8) daher, wogegen das HaBo seinen Feed in ISO-8859-1 anbietet.
Scheinbar kommen viele Windows-Programme heute immer noch nicht richtig mit verschiedenen Zeichensätzen zurecht.
Du hast jetzt eigentlich 2 Möglchkeiten:
Entweder du baust das Script so um, dass es die Zeichenkodierung berücksichtigt (steht in der XML-Präambel) oder du lässt ein Script laufen, welches die Kodierung ändert: Entweder online (grade schnell gebaut: http://www.planet-metax.de/diegeekdie/php/heise_iso.php) oder auf deinem Rechner.
Falls du Interesse an dem PHP-Code hast, der den Heise-Newsletter in ISO-8859-1 umwandelt, kannst du den gerne haben ...

mfg, metax.

~edit: Mal wieder zu langsam ...
 
Also...

Erstma danke euch beiden

@Mackz: Hast du es mal ausprobiert? Bei mir läuft ersteinmal garnichts, aber müsste mich halt ein wenig reinfitzen, wenn du sagst, dass es läuft ;)

@metax. Habe mal deinen ins ISO-8859-1 (Sowas weiß ein normaler Mensch auch ausm Kopp :rolleyes: ) umgewandelten Feed eingeklingt, das Umlautproblem bleibt allerdings bestehen ?(

Edit: RSS-Stream wurde leider nur aller 60 Min aktualisiert, das hab ich grade gefixt...
Bei dem umgewandelten Feed von dir kommt eine Error-Message
(Incompatible RDF Stream)
 
Original von Hashishin
@Mackz: Hast du es mal ausprobiert? Bei mir läuft ersteinmal garnichts, aber müsste mich halt ein wenig reinfitzen, wenn du sagst, dass es läuft ;)
Nee, sorry. Ich habe Samurize nicht installiert und das nicht getestet. Ich hatte das nur beim googlen gefunden, weil ich erst dachte es würde an Samurize selber und nicht am Plugin liegen, und ich nach einem evtl. Patch gesucht habe.
 
Original von metax.
Der Feed ist auch kein RDF Feed, sondern ein Atom-Feed. Ich dachte dein Reader kann

Was fällt dir ein, so abfällig über meinen Reader zu sprechen?!!!111einseinself :D :D :D

Das selbe nochmal für Spiegel Politik (http://www.spiegel.de/schlagzeilen/rss/0,5291,20,00.xml) und ich kauf dir 'nen Kekz :)

Wenn du denkst dass ich es ohne großartige Vorkenntnisse in php auch selbst machen kann, dann reicht mir auch der QuellCode deines php Dokuments :)

Wenn du es selber machst bräucht ich noch eine Garantiebescheinigung, dass du den Spass nicht mal ausversehen löschst... :]

Danke dir!
Mein Desktop nimmt langsam richtig schön Gestalt an :)

Grüße Hash

P.S.: Ich warte auf dem Desktop auf deine Antwort...Also nicht nur PM schreiben :D
 
Bitteschön, hier ist der Spiegel-Feed:
http://www.planet-metax.de/diegeekdie/php/spiegel_rdf_iso.php

Und hier noch der Code, damit du das auf deinem eigenen Server laufen lassen kannst:

PHP:
<?php

function xhttp_get($url)
{

    $url_stuff = parse_url($url);
    $port = isset($url_stuff['port']) ? $url_stuff['port'] : 80;

    $fp = fsockopen($url_stuff['host'], $port);

    $query  = 'GET ' . $url_stuff['path'] . " HTTP/1.0\n";
    $query .= 'Host: ' . $url_stuff['host'];
    $query .= "\n\n";

    fwrite($fp, $query);

    while ($tmp = fread($fp, 1024))
    {
        $buffer .= $tmp;
    }

    $parts = split("\n\r\n", $buffer, 2);

    return $parts[1];
}

// Hier die URL eintragen:
$url = 'http://www.spiegel.de/schlagzeilen/rss/0,5291,20,00.xml';

$feed = xhttp_get($url);

header('Content-Type: text/xml; charset=iso-8859-1');

$h = iconv("UTF-8","ISO-8859-1", $feed);

$h = str_replace('<?xml version="1.0" encoding="utf-8"?>', '<?xml version="1.0" encoding="iso-8859-1"?>', $h);

echo $h;
exit;

?>

mfg, metax.
 
mackz, weiß ich doch, aber das passt vom Design mal so garnicht zu meinem Desk^^

metax., du versuchst nicht zufällig, mir wieder einen AtomFeed unterzumogeln?
 
Ich hab genau die Spiegel-URL genommen, die du mir gegeben hast.
Aber ich sehe gerade, dass der Spiegel eh schon in ISO-8859-1 geliefert wird.
Da sind aber XML-Entitäten drinnen (& #252; und so), die das Samurize-Script möglicherweise nicht korrekt zurückübersetzt.

~edit: Hier der Code, der das behebt:
PHP:
<?php
function xhttp_get($url)
{

    $url_stuff = parse_url($url);
    $port = isset($url_stuff['port']) ? $url_stuff['port'] : 80;

    $fp = fsockopen($url_stuff['host'], $port);

    $query  = 'GET ' . $url_stuff['path'] . " HTTP/1.0\n";
    $query .= 'Host: ' . $url_stuff['host'];
    $query .= "\n\n";

    fwrite($fp, $query);

    while ($tmp = fread($fp, 1024))
    {
        $buffer .= $tmp;
    }

    $parts = split("\n\r\n", $buffer, 2);

    return $parts[1];
}

$url = 'http://www.spiegel.de/schlagzeilen/rss/0,5291,20,00.xml';
$feed = xhttp_get($url);

header('Content-Type: text/xml; charset=iso-8859-1');

$h = html_entity_decode($feed);

echo $h;
exit;

?>

mfg, metax.
 
Zurück
Oben