Homepagebau
Dateiversion:
diesen Beitrag diskutieren,
ergänzen, eine Frage stellen

Entities

Schwierigkeitsgrad:

 

Allgemeines

Wie kann man eigentlich in HTML einen Text schreiben, der die Funktionsweise von HTML erläutert? Sonderzeichen, wie zum Beispiel die spitzen Klammern, können so geschrieben werden, dass sie vom Browser "nur" als Zeichen angezeigt werden. Auf diese Weise wird eine unerwünschte Interpretation als Tag verhindert. Außerdem lassen sich so auch Zeichen eingegeben, die sie auf keiner Tastatur finden. Zum Beispiel griechische Buchstaben oder mathematische Symbole.

Dazu möchte ich sie zuerst auf einen im Internet gültigen Standard aufmerksam machen. Weltweit hat man sich auf eine einheitliche Zeichentabelle geeinigt in der alle Zeichen, die gewöhnliche PCs darstellen können sollen aufgelistet sind. Dieser Standard heißt "Unicode". In diesen globalen Zeichentabellen hat jeder Buchstabe eine feste Nummer. Wenn also von einem "Unicode-Zeichen" mit der Nummer 100 die Rede ist, meint man damit das Zeichen, welches in der Unicodetabelle an der Position 100 auftaucht. Da mehrere solche Tabellen existieren, gibt man sogar meist noch die genaue Tabelle an, die gemeint ist.

Für wichtige Tabellen und besonders häufig benötigte Zeichen gibt es außerdem Kürzel, die aber nicht immer standardisiert sind. Das heißt diese Bezeichnungen, werden nicht von allen Browsern akzeptiert.

Die Tabelle, mit der sie für gewöhnlich konfrontiert sein werden heißt "Latin 1" und enthält alle lateinischen Buchstaben und Zeichen, die für den westeuropäischen Kulturraum gebräuchlich sind. Alle Zeichentabellen können als PDF-Dateien kostenlos unter www.unicode.org herunter geladen werden und ich persönlich empfehle ihnen, das für einige wichtige auch zu tun.

Zeichensatz angeben

Zunächst wollen wir dem Browser sagen, welchen Zeichensatz oder anders ausgedrückt "welche Tabelle" wir verwenden werden. Dies müssen wir bei jedem HTML-Dokument tun.

Alle wichtigen Tabellen haben zwar auch Namen, aber generell wird trotzdem mit Nummern gearbeitet. Die Tabelle "Latin 1" zum Beispiel hat die Nummer iso-8859-1. Das Wörtchen "iso" ist eine Abkürzung, die so viel wie "standardisierte Nummer" bedeutet.

Im HTML sieht dies dann so aus:

<head>
    <meta
http-equiv="Content-Type"
          content=
"text/html; charset=iso-8859-1">
</head>

Die Zeichenfolge "text/html" bezeichnet, um was für eine Art Dokument es sich handelt: den so genannten MIME-Typ. Für uns hier genügt es, dass sie den Begriff wenigstens einmal gehört haben. Er hat ansonsten zunächst keine weitere Bedeutung.

Das Ergebnis ist, dass alle Zeichen des Textes in der Folge automatisch als Zeichen aus der Tabelle "Latin 1" angesehen werden. Es ist also möglich einfach ein Sonderzeichen wie "ä" in den Text zu schreiben: und jeder Browser weltweit weiß genau, was damit gemeint ist. Selbst dann, wenn es den entsprechenden Buchstaben in der Landessprache gar nicht gibt.

Kodierung von Sonderzeichen

Manche Sonderzeichen müssen dennoch auf andere Weise dargestellt werden. Dazu wird eine bestimmte Schreibweise verwendet, die als "Entity" (eng. Erscheinung) bezeichnet wird.

Entities werden stets von einem Kaufmannsund ("&") eingeleitet. Danach folgt eine Raute ("#") und die Unicodenummer des gewünschten Zeichens. Abschließend folg ein Semikolon (";").

Für einige besonders häufig gebrauchte Zeichen haben sich Abkürzungen eingebürgert, die anstatt Raute + Unicodenummer geschrieben werden können. Diese werden aber nicht von allen Browsern in gleichem Umfang unterstützt.

Beispiele

Eine Liste der wichtigsten Entities

Ein komplette Tabelle der Sonderzeichen gibt es hier!

Klartext Abkürzung Unicodebezeichnung
Leerzeichen - &#32;
Leerzeichen
(ohne Zeilenumbruch)
&nbsp; &#160;
Ä &Auml; &#212;
ä &auml; &#244;
Ü &Uuml; &#220;
ü &uuml; &#252;
Ö &Ouml; &#214;
ö &ouml; &#246;
ß &szlig; &#223;
& &amp; &#38;
@ - &#64;
< &lt; &#60;
> &gt; &#62;
&euro; &#8364;
© &copy; &#169;

einige häufig verwendete Symbole:

Klartext Abkürzung Unicodebezeichnung

&bull; &#9679;

- &#9668;

- &#9658;

- &#9650;

- &#9660;

- &#9786;

- &#9792;

- &#9794;

- &#9829;

- &#9835;