Vor der Einführung von HTML5, um die Zeichencodierung in einem Dokument mit einem Element festzulegen, mussten Sie die unten gezeigte etwas ausführliche Zeile schreiben. Dies sind die Meta-Charset-Elemente, wenn Sie HTML4 in Ihrer Webseite verwenden:
Was in diesem Code wichtig zu beachten ist, sind die Anführungszeichen, die Sie um das sehen Inhalt Attribut: Inhalt="text/html; Zeichensatz=iso-8859-1". Wie alle HTML-Attribute definieren diese Anführungszeichen den Wert des Attributs und zeigen an, dass der gesamte String text/html; Zeichensatz=iso-8959-1 ist der Inhalt dieses Elements. Das ist richtiges HTML, und so sollte dieser String geschrieben werden. Es ist auch unhandlich lang und hässlich! Es ist auch nicht etwas, an das Sie sich wahrscheinlich sofort erinnern würden!
In den meisten Fällen mussten Webentwickler diesen Code von einer Site kopieren und in jede neue, die sie entwickelten, einfügen, da es viel verlangte, dies von Grund auf neu zu schreiben.
HTML5 schneidet das zusätzliche "Zeug" aus
HTML5 hat der Sprache nicht nur einige neue Elemente hinzugefügt, sondern auch einen Großteil der HTML-Syntax stark vereinfacht, einschließlich des Meta Charset-Elements. Mit HTML5 können Sie Ihre Zeichencodierung mit der viel einfacher zu merkenden Syntax für die META Element, das Sie unten sehen:
Vergleichen Sie diese vereinfachte Syntax mit dem, was wir zu Beginn dieses Artikels geschrieben haben, der alten Syntax, die für HTML4 verwendet wurde, und Sie werden sehen, wie viel einfacher es ist, die HTML5-Version zu schreiben und sich daran zu erinnern. Anstatt dies von einer vorhandenen Site kopieren und in eine neue Site einfügen zu müssen, an der Sie gerade gearbeitet haben, können Sie sich als Front-End-Webentwickler unbedingt daran erinnern. Diese Zeitersparnis ist vielleicht nicht viel, aber wenn man die anderen Syntaxbereiche bedenkt, die HTML5 vereinfacht hat, summieren sich die Einsparungen!
Schließen Sie immer die Zeichencodierung ein
Sie sollten immer eine Zeichencodierung für Ihre Webseiten verwenden, auch wenn Sie dies nie beabsichtigen spezielle Charaktere. Wenn Sie keine Zeichencodierung verwenden, wird Ihre Site anfällig für einen Cross-Site-Scripting-Angriff mit UTF-7.
In diesem Szenario sieht ein Angreifer, dass für Ihre Website keine Zeichencodierung definiert ist, sodass der Browser glaubt, die Zeichencodierung der Seite sei UTF-7. Als nächstes injiziert der Angreifer UTF-7-codierte Skripte in die Webseite und Ihre Website wird gehackt. Das ist für alle Beteiligten problematisch, von Ihrem Unternehmen bis zu Ihren Besuchern. Die gute Nachricht ist, dass es ein einfaches Problem ist, das zu vermeiden ist – achten Sie darauf, dass Sie alle Ihre Webseiten mit Zeichenkodierung versehen.
Wo man Zeichenkodierung hinzufügt
Die Zeichencodierung für eine Webseite sollte die erste Zeile Ihres HTML-Codes sein
Element. Dadurch wird sichergestellt, dass der Browser die Zeichenkodierung kennt, bevor er etwas anderes auf der Seite tut, als den Doctype zu bestimmen und zu erkennen, dass es sich um eine HTML-Seite handelt. Ihr HTML sollte lauten:
...
Verwenden von HTTP-Headern für zusätzliche Sicherheit
Sie können auch die Zeichencodierung in den HTTP-Headern angeben. Dies ist noch sicherer als das Hinzufügen zur HTML-Seite, aber Sie benötigen Zugriff auf die Serverkonfigurationen oder .htaccess Dateien, was bedeutet, dass Sie möglicherweise mit dem Hosting-Provider Ihrer Website zusammenarbeiten müssen, um diese Art von Zugriff zu erhalten oder ihn die Änderungen vornehmen zu lassen Sie. Der Zugang ist hier die Herausforderung. Die Änderung selbst ist einfach, daher sollte jeder Hosting-Anbieter diese Änderung relativ einfach für Sie vornehmen können.
Wenn Sie verwenden Apache, können Sie den Standardzeichensatz für Ihre gesamte Site festlegen, indem Sie Folgendes hinzufügen: AddDefaultCharset UTF-8 zu deiner Wurzel .htaccess Datei. Der Standardzeichensatz von Apache ist ISO-8859-1.