@charset

Übersicht

Die @charset CSS At-Regel gibt die Zeichenkodierung an, die in dem Stylesheet verwendet wird. Sie muss das erste Element im Stylesheet sein und ihr darf kein Zeichen vorangestellt werden; da sie kein verschachtelter Ausdruck ist, kann sie nicht innerhalb bedingten Gruppen At-Regeln verwendet werden. Falls mehrere @charset At-Regeln definiert sind, wird nur die erste verwendet. Und sie kann auch nicht innerhalb eines style Attributs eines HTML Elements oder innerhalb des <style> Elements verwendet werden, in dem die Zeichenkodierung der HTML Seite ausschlaggebend ist.

Diese At-Regel ist nützlich, wenn nicht-ASCII Zeichen in manchen CSS Eigenschaften wie content verwendet werden.

Da es mehrere Möglichkeiten gibt, die Zeichenkodierung eines Stylesheets anzugeben, versucht der Browser die folgenden Methoden in der angegebenen Reihenfolge (und stoppt, sobald eine ein Ergebnis zurückliefert):

  1. Der Wert des Unicode Bytereihenfolge Zeichens, das am Anfang der Datei gesetzt ist.
  2. Der Wert, der durch das charset Attribut des Content-Type: HTTP-Headers angegeben wurde oder das Äquivalent hierzu im Protokoll, das verwendet wird, um das Stylesheet zu übertragen.
  3. Die @charset CSS At-Regel.
  4. Benutze die Zeichenkodierung, die durch das referenzierte Dokument angegeben wird: Das charset Attribut des <link> Elements. Diese Methode ist veraltet in HTML5 und darf nicht verwendet werden.
  5. Nimm an, dass das Dokument UTF-8 kodiert ist.

Syntax

@charset "UTF-8";
@charset 'iso-8859-15';
charset
Ist ein <string>, der die zu verwendende Zeichenkodierung angibt. Dies muss der Name einer websicheren Zeichenkodierung sein, wie sie in der IANA Registrierung definiert wird. Falls mehrere Namen mit einer Kodierung assoziiert werden, wird nur der verwendet, der mit preferred gekennzeichnet ist.

Formale Syntax

@charset "<charset>";

Beispiele

Gültige Bespiele:

@charset "UTF-8";       /* Setzt die Kodierung des Stylesheets auf Unicode UTF-8 */
@charset 'iso-8859-15'; /* Setzt die Kodierung des Stylesheets auf Latin-9 (Westeuropäische Sprachen, mit Eurozeichen) */

Ungültige Beispiele:

 @charset "UTF-8";      /* Ungültig, da ein Zeichen (Leerzeichen) vor der At-Regel steht */
@charset UTF-8;         /* Ungültig, da kein ' oder " angegeben wurde, die Zeichenkodierung ist kein CSS <string> */

Spezifikationen

Spezifikation Status Kommentar
CSS Level 2 (Revision 1)
Die Definition von '@charset' in dieser Spezifikation.
Empfehlung Ursprüngliche Definition

Browser Kompatibilität

Merkmal Chrome Firefox (Gecko) Internet Explorer Opera Safari
Grundlegende Unterstützung 2.0 1.5 (1.8)[1] 5.5[2] 9 4
Merkmal Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Grundlegende Unterstützung 2.1 1.0 (1.8) 5.5[2] 10.0 4

[1] Firefox 1.0 hat nur eine ungültige Syntax unterstützt, in der die Zeichenkodierung nicht von einfachen oder doppelten Anführungszeichen umschlossen war.
[2] Von IE 5.5 bis einschließlich IE 7 hat der Internet Explorer ebenfalls die ungültige Syntax unterstützt, in der die Zeichenkodierung nicht von einfachen oder doppelten Anführungszeichen umschlossen war.

Schlagwörter des Dokuments und Mitwirkende

Schlagwörter: 
 Mitwirkende an dieser Seite: Krenair, fscholz, Sebastianz
 Zuletzt aktualisiert von: Krenair,