dedlfix: echo encoding/charset

Beitrag lesen

Hi!

Ich hab die letzte Stunde damit zugebracht, im Internet nach einer Möglichkeit zu suchen, php alle Strings per default in UTF-8 produzieren zu lassen.

PHP kann grundsätzlich noch nicht mit UTF-8 und anderen Multibyte-Kodierungen umgehen. Dieses "grundsätzlich" wird sich erst mit Version 6 aufgelöst haben. Derzeit gibt es nur vereinzelte Funktionen, die mit UTF-8 arbeiten oder spezielle Extensions, die sich dem Thema widmen. Die wichtigsten sind die Multibyte-String-Extension für die Stringverarbeitung und iconv (oder das ältere recode) zur Konvertierung von Kodierungen.

Das bewirkt allerdings auch nicht den gewünschten Effekt. Die Inhalte, die ich per echo ausgebe, sind immer noch ISO 8859-Encoded. Gibt es eine Möglichkeit, php alles in UTF-8 ausgeben zu lassen? Jedes mal das ganze mit utf8_encode umzuwandeln ist leicht unelegant und frisst Rechenleistung...

Wenn du keine Stringverarbeitung brauchst, kannst du Daten durchreichen, die bereits so kodiert sind, wie du sie brauchst. Das betrifft auch, wie von Der Martin erwähnt, im Script stehende Texte. Ansonsten kommst du ums Konvertieren nicht umhin.

Lo!