Quellcode runterladen mit korrekten Charsets

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Quellcode runterladen mit korrekten Charsets

    Hallo,

    jetzt brauche ich mal Hilfe bei den Zeichensätzen.


    Und zwar ist das Schema Folgendes:

    Es existiert irgendeine INternetseite X. Mein Skript (a) holt mit fgets(X,2000); den Quellcode ab.
    -> das ganze wird verarbeitet und in eine MySQL Tabelle geschrieben.

    Ein anderes Skript (b) baut jetzt wieder aus dieser Datei ne Seite und gibt diese aus.

    Mein naives herangehen:
    Im Quelltext der Internetseite X steht soetwas "<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">". Also gehe ich davon aus, X ist UTF8 kodiert.
    Jetzt stelle ich MySQL tabelle auf UTF 8 und gebe mit (b) auch wieder eine UTF8 codierte Seite aus. Geht aber nicht.


    Jetzt habe ich probiert erstmal utf8_decode im Skript (a) zu machen, das ganze dan zu schreiben und dann wieder einen UTF8_encode zu machen. Geht aber auch nicht :(



    Wie muss ich denn soetwas machen?


    Grüße,


    einheitswurzel
  • Also wichtig ist wirklich, dass alles konsistent und einheitlich ist.
    Du solltest also von Anfang an utf8 verwenden - und damit sollte deine Tabelle auch von Anfang an im Format utf8 angelegt sein.
    Ein Ändern des Tabellen Charsets führt nicht unbedingt zur Konvertierung der Daten!

    Was nun wichtig ist, ist der HTTP Header den die Quellseite sendet.
    Zwar kann auch der von meta und Browsereinstellungen überschrieben werden - im allgemeinen funktioniert das aber nicht.

    Nun gut.. auf jeden Fall möchte man sich nicht selber um soetwas kümmern, deswegen würde ich dir Empfehlen einfach das CURL Modul zu verwenden.
    Das arbeitet zum einen mit dem Header und interpretiert zum anderen auch die Meta Angabe falls sie vorhanden ist.
    Konvertierungen musst du dann keine mehr machen.

    Mehr Infos unter de.php.net/curl
    Allgemein zu UTF-8 und Unicode gibts auch in unserem Wiki eine Seite: [wiki]Unicode und PHP <= 5[/wiki]