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
Ankündigung
Einklappen
Keine Ankündigung bisher.
XML mit chinesischen Zeichen
Einklappen
Neue Werbung 2019
Einklappen
X
-
XML mit chinesischen Zeichen
Stichworte: -
-
falschZitat von JimmyNighthawkXML über PHP einzulesen bleibt eigentlich nur DOM.
Je nach PHP-Version hat man die Wahl zwischen SAX, DOM und simplexml.
Wenn man auf dem "wie baue ich möglichst viele Unzulänglichkeiten in meinen Code ein"-Trip ist, natürlich.Zitat von JimmyNighthawkAber natürlich kann man auch seinen eigenen Parser schreiben.
Um die chinesischen Zeichen endgültig zu entfernen?Zitat von JimmyNighthawkWie auch immer,..
... schon http://de2.php.net/utf8_decode probiert?
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.Zitat von JimmyNighthawkIch hatte auch mal ein Zeichenproblem und das konnte mit ...... gelöst werden. Sicher das das nicht funktioniert (mit chin. Zeichen) ... ?Code:<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-
Ein Gast antworteteXML ü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 ...... gelöst werden. Sicher das das nicht funktioniert (mit chin. Zeichen) ... ?Code:<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Einen Kommentar schreiben:
-
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
Welche Funktionen benutzt du zum Einlesen des XML?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>';
?>
Einen Kommentar schreiben:
-
Ein Gast antworteteHi,
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
Einen Kommentar schreiben:
-
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?
Einen Kommentar schreiben:
-
Ein Gast antworteteHi,
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
Einen Kommentar schreiben:
-
Du musst die HTML-Seite auch im UTF8-Format deklarieren. Entwede mit dem <meta>-Tag oder per PHP mit header().
Einen Kommentar schreiben:

Einen Kommentar schreiben: