Ist das HTML-Zeichensatz-Meta-Tag erforderlich?
W3C "HTML5 differences from HTML4" working draft Staaten:
Für die HTML-syntax, die Autoren sind erforderlich, um die Zeichencodierung.
Was bedeutet "notwendig"?
Offensichtlich, die ein browser noch Rendern von HTML5 ohne charset-meta-tag. Wenn keine Kodierung angegeben wird, die Codierung wird ein browser verwendet?
Im Grunde möchte ich wissen, ob es tatsächlich nötig <meta charset="">
oder wenn 99% der Zeit im Browser die richtige Codierung sowieso.
Hier ist der link: http://www.w3.org/TR/html5-diff/#character-encoding
InformationsquelleAutor der Frage twiz | 2013-02-03
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist nicht nötig
<meta charset="blah">
. Als die Spezifikation sagt, der Zeichensatz kann auch angegeben werden, indem die server über die HTTP -Content-Type
header oder indem Sie eine Unicode-BOM am Anfang der Datei.Meisten web-Servern heute sendet wieder ein Zeichen gesetzt in der
Content-Type
- header für HTML-text-Daten, wenn kein anderer angegeben ist. Wenn der web-server nicht senden Sie zurück, ein Zeichen mit derContent-Type
header und die Datei nicht enthalten ist eine Stückliste und die Seite nicht include eine<meta charset="blah">
Erklärung, der browser haben eine Standard-Kodierung, die in der Regel basierend auf den Spracheinstellungen des host-Computers. Wenn diese nicht mit der tatsächlichen Kodierung der Datei, dann werden einige Zeichen werden nicht korrekt angezeigt.Wird der Browser die richtige Codierung 99% der Zeit? Wenn deine Seite UTF-8 ist, wahrscheinlich. Wenn nicht, wahrscheinlich nicht.
W3C bietet eine Dokument umreißt die precendence Regeln für die drei Methoden , sagt der Auftrag-HTTP-header, BOM, gefolgt von in-Dokument-Spezifikation (meta-tag).
InformationsquelleAutor der Antwort hrunting
Laut Google PageSpeed browser extension, mit der Erklärung eines Zeichensatzes in einem meta-element "deaktiviert IE8 die lookahead-Funktion", die offenbar Kräfte, die Sie herunterladen, um alles in serial.
Mein Verständnis war, dass
<meta charset-"utf-8">
war erforderlich für HTML5 gültig, aber das ist, warum ich begann das surfen hier.In diesem Entwurf von der Skillung scheint mir ziemlich klar, und da füge ich den HTTP-header via
.htaccess
werde ich beginnen, verlassen Sie es aus...auch wenn ich versucht bin, nicht, nur der IE8-Nutzer leiden ein bisschen mehr.Dank.
@Jules Mazur haben Sie irgendwelche Referenzen über die Punkte? Das meiste, was ich Tue, ist SEO und Zugänglichkeit ist wichtig für mich und wenn das der Fall ist, bin ich mehr als empfänglich zu verlassen, die die meta-Deklaration.
InformationsquelleAutor der Antwort adam-asdf
Es ist wichtig, geben Sie einen Zeichensatz des Dokuments als früher wie möglich (entweder über die
Content-Type
header oder dieMETA
tag), ansonsten wird der browser verlassen wird, bestimmt die Codierung vor dem Parsen des Dokuments, und dies kann negative Auswirkungen auf die Ladezeit der Seite.InformationsquelleAutor der Antwort Anton Eprev
Seit 1999, als die meisten dieser w3C-specs kam, die Normungsgremien haben geschoben, Lieferanten (Hersteller von Servern und Browsern und Dokument-Anwendungen) zu Folgen Codierung Regeln und verwenden Sie metatags zu ermitteln Vorsatz. Aber durch Gier, schlechte browser-design und andere Faktoren haben nur sehr wenige folgten den Spezifikationen, die durchweg im Laufe der Jahre. Als Ergebnis haben wir einen gebrochenen system. Einige Anbieter wie Mozilla folgten die standards, die seit 2001 für metatags, während andere, wie Microsoft und Google haben nicht.
Deshalb alle web-Entwickler sollten Kontingenz design, wie alle Ihre web-Seiten aufgebaut sind, und verwenden Sie metatags und andere standard-markup-trotz inkonsistenter support. In anderen Worten, verwenden Sie sowohl die metatag-Typen (meta charset="UTF-8" meta http-equiv="content-type" content="text/htmlcharset=utf-8"), obwohl in Wirklichkeit das markup nicht entscheiden, wie Sie Ihre Seiten codiert sind, oder interpretiert von modernen user-agents. Die wichtigsten Treiber für das, was die Codierung wird vom browser benutzt werden, wie die Seite codiert wurde, durch software, wie jemand oben erwähnt, die ist immer UTF-8, die ist nur ein standard von unicode, die derzeit beliebt sind. Der browser des Benutzers wird dann wahrscheinlich überspringen, metatags und überprüfen Sie die Seite, um es zu erraten Codierung Absicht des Autors.
Im Jahr 2000 diese ganzen meta-Tag-Debatte war noch schlimmer. Verwendung von HTML 4 mit eingebetteten unicode-Zeichen bedeutete oft Seiten, bei denen weder richtig kodiert oder richtig gerendert, trotz server-HTTP-Header, die Verwendung von Zeichen-Entitäten, und die metatags ganz einfach, weil moderne Browser zurück dann NICHT den standards entsprechen, und schaue nicht auf metatags, Seite Codierung und Zeichen-Entitäten kodiert. Das ist, warum Sie die Schlacht, all die komplexen Kombinationen von Unterstützung und Systeme gescheitert standards Adoptionen, seine besten verwenden Sie alle Kombinationen von Technologien zur Steigerung der "Wahrscheinlichkeit" des web-Seiten korrekt gerendert werden.
Haben wir gelernt, damals eine wertvolle Lektion: Web-Standards würde nie konsequent, gefolgt von Unternehmen. Wenn standards nicht übernommen werden konsequent aus der Privatwirtschaft es ist immer am besten nutzen alle Formulare und die version zu markieren, die ganze Zeit, in jeder form, Art und Weise zu maximieren Sie Ihre Seiten richtig angezeigt werden auf vielen verschiedenen Geräten mit verschiedenen Formen von diesen Normen, auch wenn Sie heute nicht die Materie (als Browser Seiten analysieren, und bestimmen Sie die Codierung selbst).
Werden sollte, dass die Strategie für alle web-page-design, bis wir irgendwie erzwingen, universal Verabschiedung von Web-Standards, die zunehmend unwahrscheinlich, jetzt mit mobile-user-agents und HTML5, die haben uns gezwungen, uns zu verlassen aber wieder viele der XML-standards, die hätte besser durchgesetzt markup-design.
InformationsquelleAutor der Antwort Stokely