Mailinglisten-Archive |
Hallo Norbert,
Norbert Pfeiffer wrote:
> hmm,
> festcodierte Zeichen sind einfach "boese", und wer sie verwendet
> sollte sich lieber mit etwas anderem beschaeftigen.
Du kannst in ein UTF-8 codiertes XML-Dokument keine deutschen
Sonderzeichen ü ö ä ß schreiben, ohne das XML-Dokument ungültig zu machen.
Du kannst auch keine HTML-Entities in ein XML-Dokument schreiben, ohne
diese entsprechend definiert zu haben.
Es schadet nicht, diese Seite noch einmal durchzuarbeiten ;-) :
http://de.selfhtml.org/xml/dtd/entities.htm
Entities kann man in XML (und auch in HTML) nur dann verwenden, wenn sie
per DTD definiert wurden. Siehe z.B. für XHTML:
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
Diese DTD bindet unter anderem diese Entity-Deklaration ein:
http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent
Wie Du siehst, wird dort genau die Art von Codierung verwendet, die Du
ablehnst:
Beispiel für das Leerzeichen:
<!ENTITY nbsp " "> <!-- no-break space = non-breaking space,
U+00A0 ISOnum -->
Also, wo ist das Problem, wenn die Entities ohnehin nur Platzhalter für
das sind, was Du hartcodiert nennst? Browser, Editior usw., die
XML-Dokumente verarbeiten können, können auch diese Codierung
"verstehen" oder sie verstehen kein XML.
Das Problem des OP bestand ja ohnehin nur darin, dass mit
Latin-1-Einstellung versucht wurde, UTF-8-Zeichen darzustellen. Für
dieses Problem gibt es allerdings die entsprechende PHP-Funktion.
Soweit mein Versuch, das "Böse" mit Fakten und Tatsachen zu vertreiben.
Viele Grüße
Peter
--
http://www.media-palette.de/
php::bar PHP Wiki - Listenarchive