utf8_decode auf simplexml_load_string anwenden?

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

  • h3ll
    antwortet
    „Ein unsichtbarer Feind ist‘s, den ich fürchte,
    Der in der Menschen Brust mir widersteht,
    Durch feige Furcht allein mir fürchterlich.

    Nicht, was lebendig, kraftvoll sich verkündigt,
    Ist das gefährlich Furchtbare. Das ganz
    Gemeine ist‘s, das ewig Gestrige,
    Was immer war und immer wiederkehrt
    Und morgen gilt, weil‘s heute hat gegolten!“


    Schiller

    Einen Kommentar schreiben:


  • mermshaus
    antwortet
    Dann sollte das doch aber vorher schon mit
    $response = file_get_contents($requestString);
    gehen oder nicht?
    Prinzipiell ja. Das wird dir aber aus…

    PHP-Code:
    <?php // Encoding der Quellcode-Datei: UTF-8

    header('Content-Type: text/html; charset=ISO-8859-1');

    echo 
    utf8_decode('Лев Николаевич Толстой');
    …das hier machen:

    Code:
    ??? ?????????? ???????
    Die entsprechenden UTF-8-Zeichen existieren in ISO-8859-1 schlicht und ergreifend nicht.

    Du kannst sie in ISO-8859-1 lediglich als (in vielen Fällen ausschließlich numerische) Entities kodieren.

    PHP-Code:
    <?php // Encoding der Quellcode-Datei: UTF-8

    function JB_utf8_to_html ($data) {
        return 
    preg_replace("/([\\xC0-\\xF7]{1,1}[\\x80-\\xBF]+)/e"'_utf8_to_html("\\1")'$data);
    }

    function 
    _utf8_to_html ($data) {
        
    $ret 0;

        foreach ((
    str_split(strrev(chr((ord($data{0}) % 252 248 240 224 192) + 128) . substr($data1)))) as $k => $v)
            
    $ret += (ord($v) % 128) * pow(64$k);
        if (
    $ret<256) return chr($ret); // no need to convert to entities
        
    return "&#$ret;";
    }

    header('Content-Type: text/html; charset=ISO-8859-1');

    echo 
    JB_utf8_to_html('Лев Николаевич Толстой');
    Code:
    Лев Николаевич Толстой
    (HTML-Quellcode-Ansicht aufrufen, um Entities zu sehen. Die schluckt die Forensoftware.)

    Eingesetzte Funktionen via Suchmaschine von hier:

    - Convert UTF-8 to ISO-8859-1 and HTML Entities

    Möglicherweise gibt es eine vorhandene PHP-Funktion, die das auch leisten kann. Ich weiß es gerade nicht.

    Weil meine Seite deutsch und ISO-8859-1 ist und auch bleiben soll
    Es ist, was es ist, sagt die Liebe? Die Begründung überzeugt mich nicht.
    Zuletzt geändert von mermshaus; 07.07.2011, 03:06.

    Einen Kommentar schreiben:


  • Truncate
    antwortet
    Zitat von Quetschi Beitrag anzeigen
    utf8_decode() erwartet einen String als Parameter, deshalb kannst an die Funktion kein simplexml-Objekt übergeben.
    Dann sollte das doch aber vorher schon mit
    $response = file_get_contents($requestString);
    gehen oder nicht?

    Zitat von Quetschi Beitrag anzeigen
    Aus welchem Grund willst du unbedingt mit dem Daten nach ISO-8859-1?
    Weil meine Seite deutsch und ISO-8859-1 ist und auch bleiben soll

    Einen Kommentar schreiben:


  • Quetschi
    antwortet
    utf8_decode() erwartet einen String als Parameter, deshalb kannst an die Funktion kein simplexml-Objekt übergeben.

    Aus welchem Grund willst du unbedingt mit dem Daten nach ISO-8859-1?

    Einen Kommentar schreiben:


  • Truncate
    hat ein Thema erstellt utf8_decode auf simplexml_load_string anwenden?.

    utf8_decode auf simplexml_load_string anwenden?

    Hallo,

    gibt es eine Möglichkeit auf den kompletten Inhalt einer simplexml_load_string()-Rückgabe utf8_decode anzuwenden?

    $response = file_get_contents($requestString);
    $xml=simplexml_load_string($response);

    Hab schon versucht utf8_decode auf $response sowie $xml anzuwenden aber ohne Erfolg.

    Muss man das wirklich manuell machen, sofern der Service nicht schon von Haus aus die Daten entsprechend liefert?

    Danke,
    Truncate
Lädt...
X