Skip to content

Mit Umlaute auf Websites und in (MySQL) Datenbanken arbeiten...

kann sehr frustrierend sein, denn sobald in der Datenbank in einer Tabelle oder Spalte, bei der Datenbankverbindung, der Entwicklungsumgebung oder auf der letztendlich im Browser dargestellten Website ein ungewünschter Zeichensatz eingestellt ist, kommt es zu Problemen, wie z.B. sowas:

fragezeichen

Ein anderes Problem in diesem Zusammenhang ist die Situation, wenn SQL Abfragen auf Datensätze mit Umlauten oder anderen Sonderzeichen nicht sinnvoll möglich sind. Um solche und ähnliche Fehler zu vermeiden, muss an allen erdenklichen Stellen mit einem einheitlichen Zeichensatz gearbeitet werden, hier ist UTF-8 die erste Wahl. Schließlich wird sich diese Kodierung des Unicode-Zeichensatzes - besonders im Internet - noch stärker als bereits durchsetzen, außerdem wurde UTF-8 von mehreren wegweisenden Gremien zum Standard erklärt.

Einen einheitlichen Zeichensatz erreicht man mit der Einhaltung der folgenden Punkte:

  • Die PHP-Skripte müssen als UTF-8-Date gespeichert werden.
  • Die Datenbanerbindung muss mit "SET NAMES utf8" auf UTF-8 gestellt werden.
  • In der Datenbank sollte an allen möglichen Stellen utf8_bin/utf8_cs oder utf8_ci eingestellt sein.
  • Das PHP-Skript sollte einen HTTP-Header: "header("Content-type:text/html; charset=utf-8");" senden. Zusätzlich sollte ein entsprechendes Meta-Tag genutzt werden: "< meta http-equiv="content-type" content="text/html; charset=utf-8" />"

Außerdem sollte man sich mit den PHP-Funktionen utf8_encode() und utf8_decode() beschäftigen, dann steht der komfortablen Arbeit mit Sonderzeichen im Web nichts mehr im Weg.

Comments:

Ich hatte mit UTF-8 bei einem

Ich hatte mit UTF-8 bei einem Formular und MySQL mit Sonderzeichen auch ein kleines Problem. Wenn man nicht an jede Kleinigkeit denkt...

sfy39587p00