phpbar.de logo

Mailinglisten-Archive

[php] Was passiert da?

[php] Was passiert da?

Peter Bieling network at media-palette.de
Mon Jan 23 20:18:14 CET 2006


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 &#252; (dezimal) oder 
&#xFC; (hexadezimal).</zitat>

> Dagegen hilft die Umwandlung mit str_replace('&#252;', 'ü', $txt);
> Eingebaute Funktionen wie html_entity_decode(); schlagen fehl,
> sie beachten nur "ordentliche" Umschreibungen wie '&uuml;'.
> 
> 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