Felix Riesterer: UTF8 und PHP

Beitrag lesen

Lieber stewe,

grundsätzlich gilt: Die Zeichenkodierung Deiner PHP-Scripte ist eine Sache, die Zeichenkodierung des generierten HTML-Codes eine (davon in Teilen abhängige) andere. Die Zeichenkodierung der GET- bzw. POST-Werte ist davon abhängig, welche Zeichenkodierung im HTTP-Header (bzw. im passenden <meta>-Element) für das HTML-Dokument angegeben wurde, denn dazu passend sendet der Browser die Daten kodiert ab.

Faustregel: Verwende in allem UTF-8, dann sollte alles zueinander kompatibel sein. PHP-Script in UTF-8 (ohne BOM!) gespeichert, die HTML-Templates ebenso, JavaScript-Dateien sowieso nur in UTF-8 und eventuelle DB-Einträge auch.

Solltest Du in Sachen Daten von und zur DB in Enkodierungsprobleme tappen, hilft Dir das Forumsarchiv weiter.

Die sogenannte mangelnde UTF-8-Unterstützung in PHP macht sich dann bemerkbar, wenn Du Strings mit Sonderzeichen manipulieren willst. So ist z.B. echo strtolower("AÖÜ"), strtoupper("äöüß"); nicht ganz unproblematisch, da intern die Sonderzeichen je nach Einstellung der LOCALES nicht mitkodiert werden. Jedoch hilft hier das Handbuch (und die dort vermerkten User Comments) kompetent weiter.

Liebe Grüße,

Felix Riesterer.

--
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)