Mailinglisten-Archive |
Hallo Norbert,
Norbert Pfeiffer wrote:
> Dein Problem ist, dass irgend ein Doeskopp hardgecodete Entities
> verwendet. 'ü' ist die Entsprechung zu char(252) und was das
> sein kann, haengt vom jeweilig installierten Zeichensatz ab und
> ist deshalb von der Serverseite aus _nicht_ vorhersehbar.
Das ist so wohl nicht ganz richtig:
<zitat src="http://de.selfhtml.org/xml/regeln/zeichen.htm">In einer
XML-Datei lassen sich alle Zeichen des in ISO/IEC 10646 definierten
Zeichenvorrats notieren. Dieses Zeichensystem wurde 1993 von der
International Organization for Standardization (ISO) entwickelt. Es soll
die Zeichen aller natürlichen und symbolischen Sprachen der Welt
abdecken. Seit der Unicode-Version 1.1 entspricht ISO/IEC 10646 dem
Unicode-System. Um genau zu sein: Erlaubt sind Unicode-Zeichen mit den
Hexadezimalwerten #x20 bis #xD7FF, #xE000 bis #xFFFD und #x10000 bis
#x10FFFF. Nicht erlaubt sind lediglich die beiden Zeichen mit den
Hexadezimalwerten #xFFFE und #xFFFF, da diese beiden keine
Unicode-Zeichen darstellen.[...]
Alle Zeichen des Unicode-Zeichenvorrats, die Sie mit Ihrem Editor nicht
direkt eingeben können oder die im Zeichenvorrat der verwendeten
Kodierung nicht vorkommen, können Sie über eine numerische Angabe
notieren. Die Notationsweise ist dabei in XML die gleiche wie in HTML
4.0, also z.B. für den Buchstaben ü die Notation ü (dezimal) oder
ü (hexadezimal).</zitat>
> Dagegen hilft die Umwandlung mit str_replace('ü', 'ü', $txt);
> Eingebaute Funktionen wie html_entity_decode(); schlagen fehl,
> sie beachten nur "ordentliche" Umschreibungen wie 'ü'.
>
> Aber wenn Du nun schon mal 'Zürich' hast, kannst Du mit
> utf8_decode('Zürich'); wieder "normale" Zeichen erzeugen.
Entscheidend ist ja, welcher Zeichensatz im (X)HTML-Code angegeben wird,
bzw. welcher im Header steht.
Wenn UTF-8 angegeben wird, wird ja auch automatisch das ü richtig als ü
angezeigt.
Viele Grüße
Peter
--
http://www.media-palette.de/
php::bar PHP Wiki - Listenarchive