Hallo (Daniel, vielen Dank für die Antwort!)
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.
Bsp. für einen HTTP-Header:
HTTP/1.1 200 OK
Date: Tue, 23 Oct 2001 18:38:42 GMT
Server: Rapidsite/Apa-1.3.14 (Unix) FrontPage/4.0.4.3 mod_ssl/2.7.1 OpenSSL/0.9.6
Last-Modified: Mon, 27 Aug 2001 10:33:26 GMT
ETag: "3e6fb0c-2a0f-3b8a21f6"
Accept-Ranges: bytes
Content-Length: 10767
Connection: close
Content-Type: text/html
Wie soll denn die Zeichensatz-Angabe in den HTTP-Header kommen?
Holt sich der Server die Angabe aus dem zu verschickenden HTML-Dokument?
Wie sieht solch ein Header aus?
Der validator meldet sogar einen Fehler, wenn im HTTP-Header ein Zeichensatz steht und im Dokument ein anderer angegeben ist)
Klingt logisch.
Ohne den Zeichensatz zu kennen kann ein Browser das Dokument theoretisch nicht verarbeiten. Er muss also entweder raten oder hoffen, dass das Dokument mit Asciizeicehn beginnt, was fast immer der Fall ist, da die meisten Zeichensätze den ASCII-Zeichensatz nur erweitern.
Jetzt hab ich wirklich verstanden, warum man mit ascii auf der "sicheren Seite" steht.
Wo die Metatags im Dokument stehen, ist nicht sicher.
Es können etliche Angaben vorher kommen. Bei XML z.b. müsste die Zeichensatzangabe schon ganz am Anfang stehen, was die Erkennung erheblich vereinfacht.
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?
Mir ist jetzt klar geworden, dass eine Umschreibung ohne einen Zeichensatz-Bezug Unsinn ist,
weil die Umschreibung nichts anderes macht, als einen Byte-Wert an der betreffenden Stelle im
HTML-Dokument zu "setzen". Und diser Byte-Wert bezieht sich auf einen bestimmten Zeichensatz
Die Umschreibung, falls Du damit < u.a. meinst, bezieht sich nicht auf einen Zeichensatz. Damit werden direkt Zeichen festgelegt. Auch die Umschreibungen wie &#xHH; beziehen sich nicht auf den Zeichensatz des Dokuments sondern immer auf Unicode.
Man kann damit auch Zeichen verwenden, die nicht im Zeichensatz des Dokuments enthalten sind.
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 (& = &).
Und nun kommt mein "Knackpunkt", meine Erfahrung ist, dass eben nicht Zeichen dargestellt werden,
die nicht im Zeichensatz des Dokuments enthalten sind. (grübel, nein)
Ah, es liegt dann am Font, wenns die Umschreibung nicht bringt, nicht am Zeichensatz, richtig?
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, & kann ich doch von Hand eingeben?
Zum mitdenken für mich:
Maskierung, gibt es hier einen offiziellen Begriff?
Bsp.:
So genannte *named entities = benannte Zeichen*, sind nur Zeichen nach dem folgenden Schema notiert:
&[Name];
Beispiel einer Notation in HTML:
α
Frage:
Und Unicode in HTML (z.b. &), wie ich oben für & (kaufmännisches Und) angab, ist gar kein
*named entitie = benanntes Zeichen*, oder wie?
Ei, ist das chaotisch!
Grundsatzfrage:
Was heisst Maskieren bzw. Umschreibung, benanntes Zeichen?
Du sagst, immer dann maskieren, wenn ich ein Zeichen haben will, dass nicht im Zeichensatz vorkommt.
Wie soll das gehen? Da funkt doch der Font wieder dazwischen.
Also, ich kappiers irgendwie wieder nicht mehr.
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?
Vielen Dank, Grüsse
Thomas N