Ankündigung

Einklappen
Keine Ankündigung bisher.

schriftsatz

Einklappen

Neue Werbung 2019

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

  • schriftsatz

    Hallo,

    ich möchte gerne auf meiner Homepage diverse Textpassagen aus anderen Websites auslesen. Mein Problem ist nun, dass meine Homepage UTF-8 kodiert ist.
    Ist nun die Textpassage jedoch ISO-blub dann werden die Umlaute alle nicht richtig dargestellt. Jetzt gibt es ja die schöne Funktion utf8_encode(). Wenn ich den Text damit behandle werden auch alle ehemaligen iso Umlaute richtig dargestellt, dafür sind alle UTF-8 Umlaute jetzt futsch.

    Gibt es hier eine inteligentere Funktion oder wie kann ich überprüfen ob ein Text bereits UFT-8 ist?
    MfG
    spoi


  • #2
    Verstehe ich nicht, deine Homepage ist UTF-8 und der geklaute Inhalt ISO? Warum sollte es dann Umlaute zerhauen, wenn du nur den ISO-Inhalt mit der Funktion anfasst?

    Aber wie immer ist ein Codebeispiel hilfreicher als man je ahnen könnte..

    Kommentar


    • #3
      Soweit ich weiß nicht. Du kannst ja den Zeichensatz Header der Website parsen. Aber auch den gibts nicht immer. Ohnehin stellt sich wie immer die Frage, wozu ständig jemand fremde Websites auslesen möchte.
      --

      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
      Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


      --

      Kommentar


      • #4
        Zunächst möchte ich mich von dem geklaut distanzieren und euch gerne verraten warum jemand Webseiten auslesen möchte. Und zwar handelt es sich um ein mini Suchmaschienenprojekt (aus Fun) basiert auf http://www.sphider.eu


        Also ich habe sagen wir mal Zwei Variablen:

        PHP-Code:
        $utf 'Hier stehen Umlaute drinn, die von einer UTF-8 kodierten Webseite stammen';
        $iso 'Hier stehen Umlaute drinn, die von einer ISO kodierten Webseite stammen';

        //Jetzt geben wir das ganze einmal aus
        echo $utf $iso;
        // und hui alle Umlaute aus $utf sind richtig und aus $iso sind falsch
        echo utf8_encode($utf) . utf8_encode($iso);
        // und siehe da nun sind alle &utf Umlaute falsch und alle $iso Umlaute richtig 
        MfG
        spoi

        Kommentar


        • #5
          Wie wärs mit einem lässigen
          Code:
          echo $utf . utf8_encode($iso)
          ?

          Kommentar


          • #6
            Hey coole idee, nur leider tut das nicht, da mein codeschnipsel nur zur Verdeutlichung dienen sollte.

            In wirklichkeit weis ich nicht, welcher Zeichensatz in der Variablen steckt und eben das möchte ich raus bekommen. Oder alternativ den Zeichensatz einer externen Seite ermitteln.
            MfG
            spoi

            Kommentar


            • #7
              Warum stellst du die Frage dann nicht so wie sich das Problem darstellt: Wie konvertiere ich einen Inhalt unbekannten Zeichensatzes in UTF-8?

              Naja entweder Header oder DOM-Struktur und entsprechenden <meta> Tag auslesen.
              Es gibt auch noch
              http://de3.php.net/manual/de/ref.iconv.php
              aber die hab ich noch nie wirklich verwendet, ohne zu wissen welche Zeichensätze vorliegen.

              Kommentar


              • #8
                hm bringt mich bei einem unbekannten Zeichensatz nun auch nicht viel weiter aber danke für den Tip
                MfG
                spoi

                Kommentar


                • #9
                  Hast du denn mal versucht den Header oder den <meta> Tag auszulesen? Das ist zwar kein Lösungsansatz für das allgemeine Problem "Wie erkenne ich den Zeichensatz?", aber zumindest für dein spezielles dürfte es doch recht vielversprechend sein.

                  Ich als Zeichensatz-Laie stelle es mir zumindest schwierig vor, den Zeichensatz einer Zeichenkette festzustellen, ohne Unicode-BOMs oder mitgesendete Meta-Daten.
                  Man kann vielleicht einige Zeichensätze ausschließen, weil vielleicht 11 Bytes vorliegen, aber Zeichensatz XY pro Zeichen 4 Bytes benötigt.
                  Vielleicht ist es aber auch ganz einfach mit einer Funktion die ich noch nicht kenne und die gleich jemand postet.
                  Wenn du mehr weißt, informier uns doch bitte hier.

                  Kommentar


                  • #10
                    Ja meta-Tag ist halt relativ unsicher. Wisst ihr, wie arg ich dem Dateiheader den der webserver mit sendet trauen kann?

                    Es gibt ein Linux Konsolenprogramm enca, dass kann anscheinend eine Datei belibigen Zeichensatzes in einen anderen Zeichensatz umwandeln Leider nur eine Datei...
                    MfG
                    spoi

                    Kommentar


                    • #11
                      Zumindest hält sich der Browser strikt an den im Header angegebenen Zeichensatz, das heißt wenn der falsch ist, sehen auch alle Surfer der Seite einen verhunzten Zeichensalat.

                      Kommentar

                      Lädt...
                      X