Diese Seite ist momentan eine Baustelle im Zustand: 1
ToDo:
Inhaltsverzeichnis |
Im Web arbeiten verschiedene Systeme zusammen, um letzlich dem Anwender ein Ergebnis auf seine Anfrage zu liefern. Im einfachsten Fall liefert ein Webserver ein Dokument an einen Browser aus. Komplexer wird es, wenn der Webserver die Abarbeitung des Requests an ein CGI-Programm oder ein eingebettetes System, beispielsweise PHP, delegiert und dieses ein Datenbanksystem ansprechen muss, um die geforderten Daten abzufragen. Das ergibt eine Kette Browser → Webserver → PHP → Datenbanksystem und dazu den Rückweg. Damit der Datenaustausch zwischen allen beteiligten Systemen reibunglos ablaufen kann, gilt es generell zu beachten:
Sobald eines der Systeme nicht mehr genau weiß, wie es einen ankommenden Datenstrom zu interpretieren hat, kann es zu Verarbeitungs- und anderen Folgefehlern kommen. Das Ergebnis ist dann meist ein Zeichendurcheinander. Im Folgenden soll beschrieben werden, wie die Systeme selbst konfiguriert werden können, und wie sie dem jeweils benachbarten System die verwendete Zeichencodierung mitteilen.
Beachten Sie auch die allgemeine Einführung zum Thema Zeichencodierung und geschriebene Sprache.
Wie die Zeichencodierung von HTML- und CSS-Dokumenten festgelegt wird und die Notation von Zeichen beschreibt der Abschnitt Themen:Zeichencodierung/Webdokumente.
Die bei der Kommunikation zwischen Webservern und Clients (Browsern) zu beachtenden Gegebenheiten werden im Abschnitt Themen:Zeichencodierung/Webserver behandelt.
W3C: Einstellung der Zeichencodierungsangabe ('charset') in .htaccess
Für einen Browser ist es – wie für jedes System, das Daten empfängt – nicht möglich, die Zeichencodierung eines Datenstroms zweifelsfrei zu erkennen. Es ist wichtig, dass der Absender die verwendete Zeichencodierung angibt, damit der Empfänger nicht raten muss oder die Bytewerte nach einer (möglicherweise nicht passenden) Default-Einstellung interpretiert. Deklarieren Sie deshalb stets die Zeichencodierung wie in den Abschnitten Webserver und Webdokumente beschrieben.
Multibytecodierungen wie etwa UTF-8 müssen spezielle behandelt werden (mb_-Funktionen).
Die Kommunikation mit dem MySQL-Server erfordert ebenfalls eine Beachtung der Zeichencodierung. Der Abschnitt Themen:Zeichencodierung/MySQL beschreibt weiterhin, wie MySQL intern mit Zeichen und deren Codierung umgeht.