Mailinglisten-Archive |
Hallo in die Runde, ich schlage mich gerade mit PHP's UTF-8 Funktionen herum. Deutsche Umlaute und französische Buchstaben sind kein Problem - nur das Euro-Zeichen macht Probleme. Dabei scheint es mir, dass utf8_decode() damit nicht klar kommt. Ich habe unter [1] ein kleines Testskript hinterlegt, welches ein Formular enthält, das UFT-8 Zeichen verarbeiten kann. Die eingegebenen Daten werden einfach wieder ausgegeben - eigentlich kein Problem. Allerdings habe ich festgestellt, dass uft8_decode() dann ein ? zurückliefert, wenn das Eingabezeichen mit drei Byte repräsentiert wird. Dies ist z.B. auch beim Euro-Zeichen oder beim Warenzeichen (TM) der Fall. Beide werden nicht korrekt umgesetzt (mehr 3-Byte-Zeichen unter [2]) Ich suche nun eine Lösung, die mit PHP-Bordmitteln machbar ist. Eine Übersetzung in Entities scheidet aus. Ebenso der Einsatz von MultiByte-Funktionen. Ebenso möchte ich nicht auf irgendwelche Windows-Codepages ausweichen ;-) Ist dieses Problem schon allgemein bekannt? Leider habe ich bei meiner Recherche nur Workarounds gefunden - keine wirkliche Lösung. Ist PHP überhaupt in der Lage, Zeichen mit mehr als 2 Byte darzustellen? Vielen Dank, Niels 1: http://silice.de/test/utf8.php 2: http://www.utf8-zeichentabelle.de/unicode-utf8-table.pl?start=8192
php::bar PHP Wiki - Listenarchive