Ankündigung

Einklappen
Keine Ankündigung bisher.

XML mit chinesischen Zeichen

Einklappen

Neue Werbung 2019

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

  • XML mit chinesischen Zeichen

    Hi Leute,
    ich hab ein großes Prob.
    Hab ein XML-File mit chinesischen Zeichen. Codiert nach UTF-8.

    Wenn ich das Teil direkt im Browser öffne is alles ok. Die Zeichen werden richtig angezeigt.

    Jedoch soll ich aus diesem XML eine Select-Box machen. Dazu nutze ich die PHP-Funktionen zum Auslesen des XML-Files.

    Leider werden dann in der SELECT-BOX nur ??? anstelle der chinesischen Zeichen dargestellt.

    Hat jemand ne Idee? wäre sehr dringend.

    ToM


  • #2
    Du musst die HTML-Seite auch im UTF8-Format deklarieren. Entwede mit dem <meta>-Tag oder per PHP mit header().

    Kommentar


    • #3
      Hi,
      danke für die Info, aber das hilft auch nicht.
      Hab ich schon selbst probiert. Egal ob direkt in HTML oder mit header("Content-type: text/html; charset=UTF-8");

      Noch ne Idee?

      ToM

      Kommentar


      • #4
        Ja hatte mir schon gedacht, dass du darauf selbst gekommen bist, zumindest klang eine gewisse Grundkompetenz mit.

        Mit welchem Programm schaust du dir das XML an, mit dem IE und mit dem IE klappts aber nicht, die HTML-Seite anzuschauen?

        Kommentar


        • #5
          Hi,
          genau wenn ich das xml-file direkt im ie ansehe ist alles ok.

          ich nutze aber ein paar xml-functions aus php die das file auslesen. genau da werden dann die ? angezeigt

          Kommentar


          • #6
            Hm seltsam, kann dir glaube ich auch nicht weiterhelfen

            Vielleicht parst du das XML-File aber auch schon falsch (mit einem falschen Zeichensatz, falls man den überhaupt einstellen kann)?
            Gib doch den Inhalt des XMLs einfach mal im HTML-Block aus (strip_tags()), also mit

            PHP-Code:
            <?php
            header
            ("Content-type: text/html; charset=UTF-8");
            print 
            '<html><head><meta
            http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body>'
            ;
            print 
            strip_tags(file_get_contents("china.xml"));
            print 
            '</body></html>';
            ?>
            Welche Funktionen benutzt du zum Einlesen des XML?

            Kommentar


            • #7
              XML über PHP einzulesen bleibt eigentlich nur DOM.
              Aber natürlich kann man auch seinen eigenen Parser schreiben.

              Wie auch immer,..
              ... schon http://de2.php.net/utf8_decode probiert?

              -> Ach ja, die SELECT-Boxen, da kann man nicht mit htmlspecialchars/htmlentities
              Daten einlegen, oder?

              Ich hatte auch mal ein Zeichenproblem und das konnte mit ...
              Code:
              <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
              ... gelöst werden. Sicher das das nicht funktioniert (mit chin. Zeichen) ... ?

              Kommentar


              • #8
                Zitat von JimmyNighthawk
                XML über PHP einzulesen bleibt eigentlich nur DOM.
                falsch
                Je nach PHP-Version hat man die Wahl zwischen SAX, DOM und simplexml.

                Zitat von JimmyNighthawk
                Aber natürlich kann man auch seinen eigenen Parser schreiben.
                Wenn man auf dem "wie baue ich möglichst viele Unzulänglichkeiten in meinen Code ein"-Trip ist, natürlich.

                Zitat von JimmyNighthawk
                Wie auch immer,..
                ... schon http://de2.php.net/utf8_decode probiert?
                Um die chinesischen Zeichen endgültig zu entfernen?

                Zitat von JimmyNighthawk
                Ich hatte auch mal ein Zeichenproblem und das konnte mit ...
                Code:
                <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
                ... gelöst werden. Sicher das das nicht funktioniert (mit chin. Zeichen) ... ?
                Eben. Es sollte. Irgendwo ist ein Fehler. Identifizieren werden wir den wohl nur können, wenn hier mal kompletter Code gepostet wird, der den Fehler reproduziert. Am besten auf unter 20 Zeilen. Höchstens 30.
                mod = master of disaster

                Kommentar

                Lädt...
                X