Zum Inhalt springen

Zeichenkodierung

Geben Server und HTML übereinstimmend UTF-8 an, damit Umlaute richtig erscheinen?

Was wir prüfen

Wir lesen die Zeichenkodierung an zwei Stellen:

  1. im HTTP-Header der Serverantwort, z.B. Content-Type: text/html; charset=utf-8,
  2. im HTML, z.B. <meta charset="utf-8">.

Dann vergleichen wir:

  • Keine Angabe an beiden Stellen: Warnung.
  • Widersprüchliche Angaben, z.B. Server UTF-8, HTML ISO-8859-1: Warnung.
  • Angabe nur im HTML, nicht im Header: Hinweis.
  • Eine andere Kodierung als UTF-8: Hinweis.

Warum das wichtig ist

Computer speichern Text als Zahlen. Die Zeichenkodierung legt fest, welche Zahl für welchen Buchstaben steht. Für A bis Z sind sich alle Kodierungen einig, für ä, ö, ü, é, à und ç nicht.

Liest der Browser eine Seite mit der falschen Kodierung, entstehen die bekannten kaputten Zeichen:

  • «Zürich» wird zu «Zürich»
  • «Offerte für Sie» wird zu «Offerte f�r Sie»

Für Schweizer Websites mit Umlauten und französischen Akzenten ist das besonders heikel. Es wirkt unprofessionell, und Suchmaschinen erfassen Wörter wie «Zürich» oder «Gärtnerei» falsch, sodass die Website für diese Begriffe schlechter gefunden wird.

Widersprüchliche Angaben entstehen oft, wenn eine alte Website auf einen neuen Server umzieht: Die Dateien sind noch in einer alten Kodierung gespeichert, der Server meldet aber UTF-8, oder umgekehrt.

So behebst Du es

Im HTML

Ganz am Anfang des <head>, als erstes Element:

<meta charset="utf-8">

Im HTTP-Header

  • Apache (.htaccess): AddDefaultCharset UTF-8
  • nginx: charset utf-8;
  • PHP: header('Content-Type: text/html; charset=utf-8');

Dateien und Datenbank

Die Angaben helfen nur, wenn die Inhalte tatsächlich in UTF-8 gespeichert sind:

  • Speichere HTML-, CSS- und Vorlagendateien im Editor als «UTF-8» (ohne BOM).
  • Bei älteren CMS-Installationen muss eventuell die Datenbank auf utf8mb4 umgestellt werden. Das ist eine Aufgabe für die Agentur oder den Hoster, und vorher braucht es ein Backup.

WordPress und Baukästen

WordPress verwendet seit vielen Jahren UTF-8 und setzt die Angaben selbst. Website-Baukästen wie Wix, Jimdo und Squarespace ebenfalls. Probleme betreffen fast nur ältere, individuell entwickelte Websites.

So prüfst Du es selbst

Öffne die Entwicklertools (F12), Reiter «Netzwerk», lade die Seite neu und klick auf das HTML-Dokument. Unter «Antwort-Header» steht bei content-type die Kodierung. Im Seitenquelltext suchst Du nach charset.

Häufige Fragen

Im Browser werden Umlaute richtig angezeigt. Ist trotzdem etwas zu tun?

Wenn wir einen Widerspruch oder eine fehlende Angabe melden, ja. Moderne Browser raten oft richtig, aber nicht immer. Auf anderen Geräten, in E-Mail-Vorschauen oder bei Suchmaschinen kann aus «Zürich» dann «Zürich» werden.

Was ist UTF-8?

Der weltweite Standard für Text im Web. Er kann alle Schriftzeichen darstellen, von Umlauten über französische Akzente bis zu Emojis. Praktisch alle Websites verwenden ihn.

Jetzt eine Website prüfen

Wir prüfen «Zeichenkodierung» und alle anderen Punkte in wenigen Minuten, kostenlos und ohne Anmeldung.