Warum sollten Sie HTML-Entitäten verwenden, anstatt nur Unicode-Zeichen in HTML einzufügen?


12

Angenommen, ich möchte ein nicht langweiliges Zeichen in eine HTML-Datei einfügen. zum Beispiel '→'. Gibt es einen Grund, warum ich es als "& rarr;" eingeben sollte? anstatt nur '→' in die HTML-Datei einzufügen? Angenommen, meine HTML-Datei ist in einem Unicode-Format codiert und übertragen.

Antworten:


10

Diese beiden abschließenden Aussagen sind große Annahmen.

Zum Beispiel haben wir eine Web-App, die AJAX im wahrsten Sinne des Wortes verwendet - wir verwenden sie zum direkten Laden von XML-Dokumenten. Wenn das XML-Dokument nicht den richtigen content-encodingHeader hat (oder überhaupt keinen hat ), lassen Unicode-Zeichen (Anführungszeichen, lange Bindestriche, sogar ein spezielles Leerzeichen und das Wort Café) den Internet Explorer jedes Mal in den Arsch fallen. Die AJAX-Anforderung schlägt einfach fehl und löst einen Javascript-Fehler aus.

Wenn wir jedoch serverseitig alle Unicode-Zeichen durch ihre HTML-Entitäten ersetzen, funktioniert alles einwandfrei.

Wenn Ihre Datei die richtigen Inhalts-Header hat, sollte dies für jeden modernen Browser kein Problem sein.


0

Wenn wir jedoch serverseitig alle Unicode-Zeichen durch ihre HTML-Entitäten ersetzen, funktioniert alles einwandfrei.

Dies setzt voraus, dass alle Zeichen durch HTML-Entities ersetzt werden können, was sie nicht können. Verwenden Sie die richtigen Überschriften und erkennen Sie diese Probleme frühzeitig (indem Sie die falschen Überschriften verwenden), anstatt verwirrt zu sein, wenn sie später auftreten.


7
Tatsächlich hat jedes Unicode-Zeichen eine entsprechende HTML-Entität.
Mark Henderson

Oh, mein Schlechtes, ich dachte an die genannten Wesenheiten. :)

0

Nur um die sehr gut akzeptierte Antwort zu ergänzen: Insgesamt sind ASCII-Dateien viel portabler für verschiedene Editoren.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.