PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : UTF-8/XML in PHP


eproM
2007-03-15, 22:48:56
Hallo

Ich habe hier ein xml-file zum verarbeiten, welches Sonderzeichen wie z.B. "®" oder "™" enthält. SimpleXML meckert da beim parsen, das xml-Dokument wäre nicht UTF-8 proper und verweigert das parsen.
Im Header des XML-Dokumentes ist angegeben:

Quellcode:

<?xml version = "1.0" encoding = "UTF-8"?>


Kann es eventuell daran liegen, dass die Datei selbst nicht UTF-8 codiert ist?
Habe um das zu testen die XML Datei lokal mit dem Windows Editor als UTF-8 neu abgespeichert (war auf ANSII davor) und anschliessend wieder hochgeladen. SimpleXML parst das ganze nun, nur wird z.b. statt "™" dann das hier angezeigt: "â„¢"
warum das?

Bin für jegliche Ideen dankbar, mfg

Elemental
2007-03-16, 08:23:00
Kann es eventuell daran liegen, dass die Datei selbst nicht UTF-8 codiert ist?


ja


Habe um das zu testen die XML Datei lokal mit dem Windows Editor als UTF-8 neu abgespeichert (war auf ANSII davor) und anschliessend wieder hochgeladen. SimpleXML parst das ganze nun, nur wird z.b. statt "™" dann das hier angezeigt: "â„¢"
warum das?


Weil's das Zeichen "™" in utf-8 nicht gibt, nehm ich an.


mfG

darph
2007-03-16, 08:52:21
Weil's das Zeichen "™" in utf-8 nicht gibt, nehm ich an.
Das gibt's bestimmt.

Aber je nachdem, wie das konvertiert wurde, hat er einfach die Bytes beibehalten und nur den Eintrag für die codepage geändert. Dann wird das, was da steht, natürlich anders interpretiert. Konvertierungsfehler, würd ich sagen.

Gast
2007-03-16, 11:55:14
Ich habe nun bei der ursprünglich reinen "echo-Ausgabe" mal ein HTML-Gründgerüst drumgefügt und explizit

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

angegeben. Hätte ich auch gleich drauf kommen können... :/

Elemental: wenn UTF-8 das Zeichen nicht hätte darstellen können, was dann? dachte UTF-8 kann alles darstellen was es so gibt.

Ich frage mich nur, ob das UTF-8 jetzt irgendwelche Nachteile hat (für was gibts denn sonst die ganzen anderen, speziell für deutsche Sprache etc..?)


mfg

Elemental
2007-03-17, 09:10:20
Naja, war nur ne Vermutung...
Kenn mich mit den verschiedenen Encodings ned so toll aus.

P.S.:
http://de.wikipedia.org/wiki/UTF-8

The_Invisible
2007-03-17, 10:55:55
ja, da sind mir auch die liebsten, groß eine kodierung angeben aber irgendwie kodieren

es gibt übrigens auch die funktionen utf8_encode() und utf8_decode() was auch sehr nützlich sein kann

mfg

Gast
2007-03-17, 10:57:14
Elemental: wenn UTF-8 das Zeichen nicht hätte darstellen können, was dann? dachte UTF-8 kann alles darstellen was es so gibt.
mit UTF-8 kannst du den kompletten(!) unicode zeichensatz kodieren (ob es dann auch dargestellt werden kann hängt von deiner software und den installierten schriftarten ab).
ich wage doch stark zu bezweifeln, dass du irgendwann mal zeichen verwenden willst, die nicht in unicode enthalten sind...

Elemental
2007-03-18, 02:08:10
Gibt es eigentlich einen kostenlosen Font, der den kompletten Unicode Zeichensatz darstellen kann?
Ich kenne nur kostenpflichtige...

Coda
2007-03-18, 02:45:22
Ich frage mich nur, ob das UTF-8 jetzt irgendwelche Nachteile hat (für was gibts denn sonst die ganzen anderen, speziell für deutsche Sprache etc..?)
Hat es nicht. Das wird alles nur zur Abwärtskompatibilität beibehalten.

HellHorse
2007-03-26, 15:37:01
....
ich wage doch stark zu bezweifeln, dass du irgendwann mal zeichen verwenden willst, die nicht in unicode enthalten sind...
KLINGON SYMBOL FOR EMPIRE?

eproM
2007-03-26, 16:18:09
Ich glaube, das werde ich nie brauchen ;)