pt004: PHP-AUsgabe in Listenform

Beitrag lesen

Hallo, ich kann ja verstehen, wenn man eigentlich keine Lust hat, sich mit Anfängerfragen herumzuschlagen, aber dann muss man doch auch nicht antworten. Aber hier ständig den Ach-so-weisen Experten raushängen zu lassen, um dann mit pädagogischen Fragen "Hast Du auch verstanden.....(mein Kleiner)" alles in der Luft hängen zu lassen und zu signalisieren: Tja, Du hast keine Ahnung, aber ich!

Also wirklich, ich habe keine Lust auf Rate-Spiele. Ich habe gezeigt, dass ich mich sehr lange schon selbst bemühe, eine Lösung zu finden - und entweder jemand kann mir helfen mit einem Tip, mit dem man was anfangen kann oder man lässt es. Wer der Meinung ist, da muss man schon selbst drauf kommen, der braucht doch wirklich nicht zu antworten. Es zwingt einen ja keiner.

Tach!

Wenn ich in den meta-daten utf-8 Kodierung angab, kamen nämlich zunächst alle Umlaute bei allen mit magpie eingelesenen Daten verkehrt, obwohl die Seiten ihre rss-feeds angeblich in utf-8 ausgaben.

Die Kodierung der RSS-Feeds ist nicht nur angeblich so, sondern nach meinen Kurztests zwecks meiner vorigen Antwort auch tatsächlich so. Denn von einem Angeben allein ändert sich noch lange nichts. Es muss auch tatsächlich so wie angegeben kodiert werden.

Ich habe jetzt dafür eine Lösung
gefunden, indem ich utf-8 als Kodierung angebe und vor dem Auslesen der Daten mit magpie eingebe

define('MAGPIE_INPUT_ENCODING', 'UTF-8');

define('MAGPIE_OUTPUT_ENCODING', 'UTF-8');


> > Auch das Problem mit den Anführungszeichen unten/oben ist damit gelöst.  
>   
> Hast du auch verstanden, warum es sich gelöst hat?  
>   
> > Der NDR hat sich merkwürdigerweise neuerdings auch erledigt, alle Umlaute kommen (ohne magpie mit `file_get_contents `{:.language-php} ausgelesen) korrekt, ohne dass ich irgendwas geändert hätte.  
>   
> Das ist keine Grundlage für solch ein Projekt. Grundlagen lernen, verstehen wie dieses Zeichenkodierungszeug funktioniert und dann wissen, warum die einen Umlaute ohne weiteres Zutun richtig kommen und die anderen eine Konvertierung benötigen.  
>   
> > Dafür kommt das ZDF (ebenfalls mit `file_get_contents `{:.language-php}ausgelesen immer noch mit zerschossenen Umlauten.  
> > Eigentlich müsste es doch auch für mit file\_get\_contents eingelesene Daten so ein encoding geben wie beim magpie-parser?  
>   
> Die Daten kommen so, wie sie das ZDF kodiert hat. file\_get\_contents() ändert daran nichts. Wenn du sie in eine Seite mit anderer Kodierung einfügen willst, musst du sie entsprechend umkodieren. Deine Aufgabe wäre zunächst, die Zeichenkodierungsinformation aus dem HTTP-Header zu lesen und wenn da keine zu finden ist, das Dokument zu parsen und die entsprechenden Angabe zu finden. Dann vergleichst du die mit der Kodierung deiner Seite und kodierst die Daten gegebenenfalls um. Jetzt steht einem Einfügen (zeichenkodierungstechnisch) nichts mehr im Weg.  
>   
>   
> dedlfix.