--- title: '@charset' slug: Web/CSS/@charset tags: - CSS - CSS At-Regel - Layout - Referenz - Web translation_of: Web/CSS/@charset --- <div>{{CSSRef}}</div> <h2 id="Übersicht">Übersicht</h2> <p>Die <code>@charset</code> <a href="/de/docs/Web/CSS" title="CSS">CSS</a> <a href="/de/docs/Web/CSS/At-Regel" title="At-rule">At-Regel</a> 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 <a href="/de/docs/Web/CSS/Syntax#verschachtelte_Ausdrücke" title="en/CSS/Syntax#nested_statements">verschachtelter Ausdruck</a> ist, kann sie nicht innerhalb <a href="/de/docs/Web/CSS/At-Regel#bedingte_Gruppen_Regel" title="en/CSS/At-rule#Conditional_Group_Rules">bedingten Gruppen At-Regeln</a> verwendet werden. Falls mehrere <code>@charset</code> At-Regeln definiert sind, wird nur die erste verwendet. Und sie kann auch nicht innerhalb eines <code>style</code> Attributs eines HTML Elements oder innerhalb des {{ HTMLElement("style") }} Elements verwendet werden, in dem die Zeichenkodierung der HTML Seite ausschlaggebend ist.</p> <p>Diese At-Regel ist nützlich, wenn nicht-ASCII Zeichen in manchen CSS Eigenschaften wie {{ cssxref("content") }} verwendet werden.</p> <p>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):</p> <ol> <li>Der Wert des <a href="http://de.wikipedia.org/wiki/Byte_Order_Mark">Unicode Bytereihenfolge</a> Zeichens, das am Anfang der Datei gesetzt ist.</li> <li>Der Wert, der durch das <code>charset</code> Attribut des <code>Content-Type:</code> HTTP-Headers angegeben wurde oder das Äquivalent hierzu im Protokoll, das verwendet wird, um das Stylesheet zu übertragen.</li> <li>Die <code>@charset</code> CSS At-Regel.</li> <li>Benutze die Zeichenkodierung, die durch das referenzierte Dokument angegeben wird: Das <code>charset</code> Attribut des {{ HTMLElement("link") }} Elements. Diese Methode ist veraltet in HTML5 und darf nicht verwendet werden.</li> <li>Nimm an, dass das Dokument UTF-8 kodiert ist.</li> </ol> <h2 id="Syntax">Syntax</h2> <pre class="brush:css">@charset "UTF-8"; @charset 'iso-8859-15'; </pre> <dl> <dt style="margin: 0 40px;"><em>charset</em></dt> <dd style="margin: 0 40px;">Ist ein {{cssxref("<string>")}}, der die zu verwendende Zeichenkodierung angibt. Dies muss der Name einer websicheren Zeichenkodierung sein, wie sie in der <a href="http://www.iana.org/assignments/character-sets">IANA Registrierung</a> definiert wird. Falls mehrere Namen mit einer Kodierung assoziiert werden, wird nur der verwendet, der mit <em>preferred</em> gekennzeichnet ist.</dd> </dl> <h3 id="Formale_Syntax">Formale Syntax</h3> {{csssyntax}} <h2 id="Beispiele">Beispiele</h2> <p>Gültige Bespiele:</p> <pre class="brush: css">@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) */ </pre> <p>Ungültige Beispiele:</p> <pre class="brush: css"> @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 {{cssxref("<string>")}} */</pre> <h2 id="Spezifikationen">Spezifikationen</h2> <table class="standard-table"> <thead> <tr> <th scope="col">Spezifikation</th> <th scope="col">Status</th> <th scope="col">Kommentar</th> </tr> </thead> <tbody> <tr> <td>{{SpecName('CSS2.1', 'syndata.html#x57', '@charset')}}</td> <td>{{Spec2('CSS2.1')}}</td> <td>Ursprüngliche Definition</td> </tr> </tbody> </table> <h2 id="Browser_compatibility" name="Browser_compatibility">Browser Kompatibilität</h2> {{Compat("css.at-rules.charset")}}