Daniel Thoma: Zeichensaetze, default Zeichensatz, benannte Zeichen usw. 3.Teil

Beitrag lesen

Hallo Thoma

Der Browser bekommt das Dokument und fängt es an zu verarbeiten. Er kann zu diesem Zeitpunkt noch nicht wissen, welchen Zeichensatz das Dokumment verwendet. (Außer, dieser wird im HTTP-Header mitgeliefert, was der Fall sein sollte.

Wie soll denn die Zeichensatz-Angabe in den HTTP-Header kommen?

Content-Type: text/html; charset=iso-8859-1

Holt sich der Server die Angabe aus dem zu verschickenden HTML-Dokument?

Kommt sicher auf die Serversoftwaren an. Der Apache scheint das nicht zu tun, zumindest nicht bei meiner Konfiguration.

Was heisst am Anfang? Für mich als Anfänger stehen Metatags am Anfang.
Macht es einen Unterschied, ob ein Metatag in erster, oder sechster Zeile steht?

Ja, bei XML steht die Angabe zum Zeichensatz immer in der 1. Zeile. Bei HTML können noch jede Menge andere Angaben kommen.
z.B. Scripts

Mit Umschreibung meine ich z.B.:
Zeichen    Beschreibung                              Name in HTML     Unicode in HTML
   &       Ampersand-Zeichen, kaufmännisches Und     &            &
   "       Anführungszeichen oben                    "           "

Du sagst, die Umschreibungen beziehen sich nicht auf den Zeichensatz des Dokuments sondern immer auf Unicode.
Was heisst das? Unicode bedeutet für mich (bis jetzt) nichts anderes, als wie oben (& = &).

Unicode ist ein Zeichensatz der so ziemlich alle modernen Schriftzeichen enthält. (Also lateinische, griechische, hebräische, japanische, chinesische, arabische, mathematische uvm.)

Ah, es liegt dann am Font, wenns die Umschreibung nicht bringt, nicht am Zeichensatz, richtig?

Genau. Der Browser weiß dann, welches Zeichen Du meinst.
Nur nicht, wie es aussieht.

Für die Praxis, wann maskieren und wann nicht?
Immer dann maskieren, wenn Du ein Zeichen haben willst, dass nicht im Zeichensatz vorkommt.
Du kannst natürlich auch direkt Unicode verwenden. Dann brauchst Du gar nicht mehr zu maskieren (abgesehen von <>&"')
Für Unicode brauchst Du allerdings einen entsprechenden Editor.

Was fürn Editor, &#38; kann ich doch von Hand eingeben?

Dieser Wert 38 ist die Nummer des Zeichens in Unicode.
Wenn Du die Zeichen direkt eingibst, stehen die entsprechenden Bytes (Bei Unicode sind es mehrere pro Zeichen) direkt im Dokument. Nicht als Umschreibung.

Und Unicode in HTML (z.b. &#38;), wie ich oben für & (kaufmännisches Und) angab, ist gar kein
*named entitie = benanntes Zeichen*, oder wie?

Nein, es ist eine Character Reference.
&bla; ist auch eine Referenz. Unter Entity versteht man eigentlich den Wert, der dann Eingefügt wird.

Wie soll das gehen? Da funkt doch der Font wieder dazwischen.

Ja. Der Browser kann das Dokument aber lesen.
Wenn Du ein Zeichen, dass nicht im Zeichensatz vorkommt, direkt ins Dokument schreibst, kann er das entweder falsch oder gar nicht.
Darstellen kann er das Zeichen freilich nur mit dem richtigen Font. Aber wenn er den nicht hat, kann er das Zeichen wenigstens nicht darstellen.

Versuch:
Ich will ein Zeichen umschreiben, weil es nicht im Zeichensatz vorhanden ist.
Es wird aber nur dargestellt, wenn der Font... ja was muss der Font tun, damit es klappt?

Dem Zeichen ein Bild zuordnen. Es gibt verschiedene arten von Fonts, aber alle definieren sie, wie ein Zeichen am Bildschirm auszusehen hat.

Zur Veranschaulichung:
Eine Suchmaschiene braucht auch den Zeichensatz um zu wissen, was für Wörter das Dokument enthält.
Sie brauch aber keinen Font. Sie stellt das Dokument ja nicht dar, sie verarbeitet es nur.

Grüße

Daniel