Ich habe diese Anweisung als die allererste Zeile zahlreicher CSS-Dateien gesehen, die mir übergeben wurden:
@charset "UTF-8";
Was macht es und ist diese Regel notwendig?
Wenn ich dieses Meta-Tag in mein "head" -Element einbinde, muss es dann nicht mehr auch in meinen CSS-Dateien vorhanden sein?
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
css
character-encoding
rsturim
quelle
quelle
Dies ist in Kontexten nützlich, in denen die Codierung nicht per HTTP-Header oder anderen Metadaten angegeben wird, z. B. im lokalen Dateisystem.
Stellen Sie sich das folgende Stylesheet vor:
Wenn ein Leser die Datei auf einer Festplatte speichert und Sie die
@charset
Regel weglassen , lesen die meisten Browser sie in der Gebietsschema-Codierung des Betriebssystems, z. B. Windows-1252, und fügen statt eines Pfeils â † ein.Leider können Sie sich nicht auf diesen Mechanismus verlassen, da die Unterstützung eher… selten ist. Und denken Sie daran, dass im Netz ein HTTP-Header immer die
@charset
Regel überschreibt .Die richtigen Regeln zum Bestimmen des Zeichensatzes eines Stylesheets sind in der Reihenfolge ihrer Priorität:
@charset
Regel.Die letzte Regel ist die schwächste, es wird in einigen Browsern nicht.
Das
charset
Attribut in<link rel='stylesheet' charset='utf-8'>
ist in HTML 5 veraltet .Achten Sie auf Konflikte zwischen den verschiedenen Erklärungen. Sie sind nicht einfach zu debuggen.
Literatur-Empfehlungen
@charset
wenn mehr als ein Name für die gleiche Codierung registriert ist.@charset
. Es gibt eine Support-Tabelle. Ich vertraue dem nicht. :) :)quelle
content-type:text/css;charset=utf-8
Header bereitgestellt werden müssen ?Ein Grund, auf jeder Seite, die Text enthält, immer eine Zeichensatzspezifikation anzugeben, besteht darin, Sicherheitslücken in Bezug auf Cross-Site-Scripting zu vermeiden. In den meisten Fällen ist der UTF-8-Zeichensatz die beste Wahl für Text, einschließlich HTML-Seiten.
quelle
Wenn Sie ein <meta> -Tag in Ihre CSS-Dateien einfügen, machen Sie etwas falsch. Das <meta> -Tag gehört in Ihre HTML- Dateien und teilt dem Browser mit, wie das HTML codiert ist. Es sagt nichts über das CSS aus, bei dem es sich um eine separate Datei handelt. Es ist denkbar, dass Sie für HTML und CSS völlig unterschiedliche Codierungen haben, obwohl ich mir nicht vorstellen kann, dass dies eine gute Idee wäre.
quelle