dedlfix: Wie nutze ich deutsche Umlaute richtig in PhP

Beitrag lesen

Tach!

I/O ist grundsätzlich byteorientiert! Denn die Kodierung spielt nur programmintern eine Rolle, etwa bei Stringoperationen. Wenn Texte jedoch nach draußen gehen (STDOUT, Dateien, Sockets..) ist die Kodierung immer abzuschalten.

Wo besteht jetzt der Zusammenhang zum vorher gesagten? Außerdem ist das schon wieder Perl-spezifisch. PHP kennt kein Ausschalten der Kodierung.

Die Philosophie von PHP ist hier grundsätzlich eine andere. Es arbeitet nämlich bereits im Kern byteorientiert. Multibyte-Kodierungen werden nur partiell unterstützt. Auch dafür muss man nicht irgendwas ein- und ausschalten. Der Datentyp String bleibt weiterhin byteorientiert. Die richtige Behandlung der Kodierung ist Aufgabe der jeweiligen Funktionen. Außer dass man den Namen der Kodierung als Parameter übergibt, hat man als Anwender keinen weiteren Einfluss oder etwas explizit zu tun.

Die Byteorientierung war bereits seit Anfang an so und wird auch noch solange bleiben, bis PHP endlich Multibyteunterstützung vollständig eingebaut bekommt. Perl und die dortigen Mechanismen spielen (derzeit) jedenfalls keine Rolle für PHP.

dedlfix.