UTF8 und php

Sonntag, 16. Dezember 2007, 15:50 Uhr von Felix

Wer Webanwendungen, die auch außerhalb Mittel- und Westeuropas genutzt werden, entwickelt, der kommt wohl um UTF8 nicht herum. Dabei müssen diverse Stolpersteine berücksichtigt werden. Die Codierung muss unter anderem für Datenbank, Webserver und Browser spezifiziert werden. Auch die Verbindung zwischen Datenbank und Anwendung sollte bedacht werden.

Einen besonders leicht zu übersehende Tücke bringt php mit sich:
mit htmlentities aufbereitete Texte werden nicht richtig dargestellt. Warum? Der dritte Parameter (charset) ist, sofern nicht anders gesetzt, ‚ISO-8859-1‘ alias latin1. Er muss auf ‚UTF-8‘ gesetzt werden. Templatesysteme müssen gegebenenfalls angepasst werden. Ein Aufruf sieht dann etwa so aus:

htmlentities ( $string, ENT_QUOTES, 'UTF-8' );