In der aktuellen Ausgabe des PHP-Magazins 2/2010 (Februar/März) wurde ein Artikel von mir veröffentlicht. Thema: "UTF-8 konsistent auf Websites einsetzen". Ich verlose ein Exemplar dieser Ausgabe.
Zum Artikel: Aller Anfang ist schwer - zumindest diese Lebensweisheit gilt bei UTF-8 nicht. Denn eine Website in UTF-8 zu kodieren, ist am einfachsten, wenn es von Anfang an konsequent durchgeführt wird. Das Beheben von Zeichensatzfehlern, die dagegen durch inkosistentes Encoding entstehen, ist oft um einiges schwieriger und je nach vorhandenem Daten- und Dokumentenbestand vor allem zeitraubend. In diesem Artikel erfahren Sie, was hinter UTF-8 steckt, warum UTF-8 so beliebt ist und wie Sie Ihre Website Schritt für Schritt auf UTF-8 ein- bzw. umstellen.
Weitere Themen im aktuellen PHP-Magazin: Silverlight 3 - Alternative zu Flash-RIAs?, MySQL für Fortgeschrittene, MySQL-Sicherung per MySQLDumper, Dekorierer im Zend Framework, PostgreSQL für Einsteiger und mehr.
So können Sie gewinnen:
Meine Fragen richten sich an Webdesigner und Leute, die ihre Website selbst erstellen: Setzen Sie UTF-8 bereits übergreifend auf Ihren Websites ein? Wenn nicht, welches Encoding nutzen Sie dann und warum? Welche Erfahrungen haben Sie mit Website-Encodings gemacht? Oder haben Sie sich bisher nicht darum gekümmert? Schreiben Sie einen Beitrag dazu in Ihrem Blog (und posten Sie hier den Link) oder setzen Sie einen Kommentar unter diesen Beitrag. Bitte geben Sie Ihre E-Mail Adresse an, damit ich Sie informieren kann, wenn Sie gewonnen haben.
Ausgelost wird am 1. Februar 2010 unter allen Beiträgen, die bis dahin eingegangen sind. Das Heft - natürlich ungelesen und mit CD - wird dann umgehend per Post an den Gewinner versendet. Viel Glück!
Leider ist die konsistente Nutzung von UTF-8 nicht immer so leicht, wie es suggeriert wird. Der Internet Explorer ignoriert unter bestimmten Umständen etwa gerne die Angabe accept-charset in form-Elementen und macht damit die besten Absichten in Bezug auf durchgehende UTF-8 Unterstützung zunichte.
Im Zusammenhang mit strlen() sei ergänzend zum Artikel noch auf die Multibyte String-Funktionen mb_*() von PHP hingewiesen. mb_strlen() etwa zählt mehrbytige Zeichen als 1.
Persönlich bin ich für jedes Projekt dankbar, in dem ich auf UTF-8 verzichten kann. ASCII ist und bleibt der kleinste gemeinsame Nenner (Toolchain, Unterstützung durch PHP, internationales Entwicklerteam usw.), UTF-8 führt fast immer zu Schwierigkeiten.
Auch generell bevorzuge ich Entitäten über Sonderzeichen und speichere Dateien grundsätzlich immer mit ASCII Kodierung ab.
UTF-8 kommt für mich nur dann in Frage, wenn die technischen Spezifikationen des Kunden es vorsehen oder ich von vornherein davon ausgehen kann, internationale Zeichen verarbeiten zu müssen. Bei regionalen Webprojekten lässt sich in der Regel gut auf UTF-8 verzichten.
Schade, dass es so wenig Feedback gab.
Danke an NP und Frank. Das Heft gewinnt NP. Herzlichen Glückwunsch! Bitte Adresse mailen!
Viele Grüße,
Bettina Ramm



