Ist es für Webinhalte besser, eine Entität oder das eigentliche Zeichen zu verwenden?

Ich bin verwirrt über die richtige Methode zum Einfügen typografischer Sonderzeichen (wie Anführungszeichen und Em-Bindestriche) beim Erstellen von Inhalten, die auf einer Webseite angezeigt werden. Ist es besser oder vorzuziehen, die eigentlichen Unicode-Zeichen wie folgt einzugeben:

“Hello, World”

oder um Entitäten für Sonderzeichen zu verwenden:

“Hello, World”

Gibt es Risiken, die mit der Verwendung von beiden verbunden sind (insbesondere das Risiko, dass der Benutzer eine verrückte Zeichenersetzung sieht), oder sind sie wirklich gleichwertig?

Antworten (2)

Verwenden Sie das tatsächliche Zeichen.

Der Nachteil bei der Verwendung von Entitäten ist die Lesbarkeit. Pop-Quiz: Was gibt die folgende Ausgabe aus?

†‹ some text ›

Ohne nachzusehen, hätte ich keine Ahnung gehabt. Selbst wenn Sie dies getan haben, sollten Sie bedenken, dass andere, die Ihr Markup lesen, dies möglicherweise nicht tun.

Zum größten Teil gibt es keinen Grund, warum Sie nicht nur das eigentliche Zeichen verwenden sollten. Um Probleme zu vermeiden, stellen Sie sicher, dass Sie überall UTF-8 verwenden . Sie möchten Folgendes sicher sein:

  • Die Seite wird mit UTF-8-Kodierung gespeichert
  • Der HTTP-Header „Content-Type“ gibt die UTF-8-Codierung an
  • Aus Datenbanken gezogene Daten werden mit UTF-8-Codierung gespeichert
  • Datenbankverbindungen verwenden die UTF-8-Codierung

Es gibt einige Ausnahmen.

Wann Sie Escapes verwenden sollten

Syntaxzeichen. Es gibt drei Zeichen, die im Inhalt immer als Escapezeichen erscheinen sollten, damit sie nicht mit der Syntax des Markups interagieren. Diese sind Bestandteil der Sprache für alle auf XML basierenden Dokumente und für HTML.

  • &lt;(<)
  • &gt;(>)
  • &amp;(&)
(Nicht nachgeschlagen!) 8224 ist in Hex so etwas wie 8192+8+24 ~ U+2020. Einer der festen Plätze also? Die anderen 2 sind einfach gewinkelte Zitate, und ich kann mir vorstellen, dass die Leute das auch nachschlagen müssen < 😀>
@Jongware du hast Recht mit den anderen beiden, aber ich gebe dir die halbe Anerkennung für eine gute deduktive Argumentation für den Dolch :)†‹ some text ›
hmmmm..... Ich benutze Entitäten. Ich meine, es ist ziemlich einfach zu sagen, was &mdash;oder &middot;sind. Und die Verwendung von Dingen wie &raquo;oder &amp;ist ziemlich klar, wenn Sie sie ein paar Mal verwenden. Ich hatte Kunden, die sich über „seltsame Zeichen“ (die ?-Diamanten) beschwerten, wenn ich keine Entitäten verwende. Ich frage mich jetzt, ob es eher ein Problem mit Text ist, der von Microsoft Word bereitgestellt und fälschlicherweise als einfacher Text erneut gespeichert wurde.
@Scott das passiert mir ständig mit Word beim Speichern oder Kopieren / Einfügen von Klartext.
Oh ja, @Scott Word wird Ihren Text für immer mit unsichtbaren Landminen füllen.

Jetzt verwenden wir in html5 nicht mehr die ASCII-Codierung, sondern die utf-8. Wenn Sie Ihre Codierung als utf-8 definieren und auch die Datei selbst darin codieren, werden Sie keine Probleme haben. (ein alter Editor kann nicht in utf-8 codieren, aber es gibt viele kostenlose Programme, die dies tun)

Danach, wenn Sie es brauchen, sagen wir für einige Programmieranforderungen, \escapen Sie es.