Zeichenkodierung

Jeder, der schon mal was fürs Internet entwickelt hat, kennt das Problem: Umlaute und Sonderzeichen werden oft nicht korrekt dargestellt.

Der Browser rendert die Seite mit ISO-8859-15, die Datenbank und Datenbank-Felder haben die Kollation „latin1_swedish_ci“, Texte sehen so aus: „natürlich“, „löschen“, …

Damit man diese Probleme nicht hat, vor allem nicht bei mehrsprachigen Seiten, sollte man die Entwicklungsumgebung so früh wie möglich auf UTF-8 umstellen.

Diese Seite soll einen Überblick geben, was man für eine stressfreie Entwicklung (mit PHP und MySQL) zu beachten hat:

1) Apache (oder PHP) auf UTF-8 setzen

htaccess

AddDefaultCharset utf-8

php

header('Content-type:text/html;charset=UTF-8');

2) HTML auf UTF-8 setzen

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

3) Datenbank-Tabellen als „utf8-general-ci“ anlegen

4) Datenbank-Abfragen auf UTF-8 setzen

SET NAMES 'utf8';
SET SESSION character_set_server=utf8;

5) Datenbank-Kollationen vergleichen, ob diese sich nicht unterscheiden

SHOW VARIABLES LIKE '%collation%';

Guter (wenn auch etwas älterer) Artikel dazu: UTF-8 und die Entity
Noch ein Artikel: UTF-8 allgemein

Achtung: Wenn die Fehlermeldung „Cannot modify header information“ ausgegeben wird, wird die Anweisung ignoriert und der Browser stellt auf Standard-Kodierung um.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.