Unicode
L.Keschka
- browser
HalloForum-Gemeinde,
beim Surfen zu meinem Arbeitsthema bin ich auf eine US-amerikanische Seite mit german-Anteil gestoßen, auf der die Umlaute nicht richtig dargestellt werden. Und zwar in der Art "mächtig".... Im sourcecode nachgeschaut, fehlt (scheinbar) jeweils das Semikolon. Angemailt und zurück mit dem Hinweis auf meinen Browser. (Hätte ich auch allein draufkommen können!)
Fürs Tägliche nehme ich den NN 4.6, da sieht man eben die Auswirkungen dieses syntaktischen "Fehlers". Der IE 5.0 hat damit keine Probleme und stellt die Umlaute auch ohne Semikolon richtig dar.
Nun habe ich etwas herumprobiert und festgestellt, der NN (4.6) akzeptiert _nicht_ als Endezeichen vom Unicode die Buchstaben a-z,A-Z und die Ziffern 0-9. Wobei das Semikolon "verschluckt" wird, alle anderen Zeichen (,:-<>äöß....) sind weiterhin Bestandteil des Textes bzw. HTML-Tags.
Ist das schon mal jemandem aufgefallen? Wie heißt die "wissenschaftliche" Erklärung? (Außer - IE ist :-( )
Ich habe dazu von Zeit zu Zeit im SELFHTML einschließlich seiner Ausleger gestöbert aber nichts gefunden. Wenn doch was drinstehen sollte...
Danke für eine (oder viele) Antwort lkeschka
Moin,
sorry, so ganz habe ich das Problem noch nicht verstanden. Fehlen die ";" nur in der Quelltextanzeige des Browser oder sind sie tatsächlich nicht im Quelltext vorhanden ?
Gefühlsmäßig würde ich sagen, IE verhält sich korrekt, da - wie ich erst neulich selbst gelernt habe http://lists.w3.org/Archives/Public/www-validator/2000JulSep/0001.html - das ";" unter bestimmten Umständen tatsächlich fehlen "darf", der Browser mithin also auch in der Lage sein sollte, dies dann "korrekt" darzustellen.
Viele Grüße
Swen
Hallo > Swen
Danke für die Antwort. Die Semikolonse fehlen im source wirklich. Ich hatte (scheinbar) in Klammern
gesetzt, weil ich nicht weiß, wo überall der Feind lauert, ;-)
Der "w3"-Link ist gut und ich muss jetzt grübeln, warum NN auf empfohlene ";" besteht.... und mich
beim Ami für NN noch entschuldigen...
Have a nice day lkeschka
Hallo!
Der "w3"-Link ist gut und ich muss jetzt grübeln, warum NN auf empfohlene ";" besteht.... und mich
beim Ami für NN noch entschuldigen...
Bionaut zitierte doch bereits: In other circumstances <B>it may not be eliminated</B> (e.g., in the middle of a word).
Ist doch auch logisch. Woher soll denn der Browser wissen, wo der zur Entity gehoerige Teil zu Ende ist? Etwa gegen eine Liste von verfuegbaren Moeglichkeiten vergleichen? (Kein Wunder, dass der IE so langsam ist, wenn er das macht.) Wenn es eindeutig ist, dass ein Zeichen gar nicht mehr zur Entity gehoeren *kann*, dann macht der Netsi genau das, was SGML ermoeglicht, er verzichtet auf das Semikolon. Aber *mitten im Wort*, wie in Deinem Beispiel, ist das Semikolon *Pflicht*! Vergleich z.B. <javascript:'<HTML>mächtig</HTML>'> und <javascript:'<HTML>mä chtig</HTML>'> (hoffentlich klappt das mit dem Forumsscript). Bei der zweiten Variante wird der Umlaut ordentlich dargestellt, denn vor dem Leerzeichen ist die Entity natuerlich zu Ende. Also nix mit entschuldigen; erzaehl dem Ami, er soll ordentliches HTML schreiben.
[ ... irgendwas wollte ich hier noch sagen, aber jetzt hab ich's vergessen *g* ... ]
So long
Hallo!
Der "w3"-Link ist gut und ich muss jetzt grübeln, warum NN auf empfohlene ";" besteht.... und mich
beim Ami für NN noch entschuldigen...Bionaut zitierte doch bereits: In other circumstances <B>it may not be eliminated</B> (e.g., in the middle of a word).
Ist doch auch logisch. Woher soll denn der Browser wissen, wo der zur Entity gehoerige Teil zu Ende ist? Etwa gegen eine Liste von verfuegbaren Moeglichkeiten vergleichen? (Kein Wunder, dass der IE so langsam ist, wenn er das macht.) Wenn es eindeutig ist, dass ein Zeichen gar nicht mehr zur Entity gehoeren *kann*, dann macht der Netsi genau das, was SGML ermoeglicht, er verzichtet auf das Semikolon. Aber *mitten im Wort*, wie in Deinem Beispiel, ist das Semikolon *Pflicht*! Vergleich z.B. <javascript:'<HTML>mächtig</HTML>'> und <javascript:'<HTML>mä chtig</HTML>'> (hoffentlich klappt das mit dem Forumsscript). Bei der zweiten Variante wird der Umlaut ordentlich dargestellt, denn vor dem Leerzeichen ist die Entity natuerlich zu Ende. Also nix mit entschuldigen; erzaehl dem Ami, er soll ordentliches HTML schreiben.[ ... irgendwas wollte ich hier noch sagen, aber jetzt hab ich's vergessen *g* ... ]
So long
Hallo Calocybe,
noch eine Antwort in oder aus den Tiefen des Forumkellers. Ich habe ihn (Ami) noch auf LYNX (Text-Browser) aufmerksam gemacht (Es ist eine Seite über Augenkrankheiten) und er hat hoffnungsvoll geantwortet::
Thank you L., I wish I could have the whole site redone in German. - Auf der spanischen hat er die gleichen Effekte ;-))
Ich denke, das Problem ist nur ein kleiner Teil im Kamof der Giganten.
Gruß L.Keschka
Moin,
poste doch mal bitte die URL. Könnte ja interessant sein :-9
Swen
Hallo,
zwei Dinge:
Der NS verhält sich hier HTML-konform mit Null-Fehler-Toleranz. Wenn es der IE richtig darstellt, heißt das noch lange nicht, daß es ricgtig ist.
wie ich erst neulich selbst gelernt habe http://lists.w3.org/Archives/Public/www-validator/2000JulSep/0001.html - das ";" unter bestimmten Umständen tatsächlich fehlen "darf",
Wenn Du den Link weiterverfolgt hättest, wärest Du auf folgende Zeile gestoßen:
Zitat Beginn
"Note. In SGML, it is possible to eliminate the final ";" after a character reference in some cases (e.g., at a line break or
immediately before a tag). In other circumstances <B>it may not be eliminated</B> (e.g., in the middle of a word). We strongly
suggest using the ";" in all cases to avoid problems with user agents that require this character to be present."
Zitat Ende
Also: _nur_ direkt vor anderen HTML-Tags gilt diese Sonderregelung; damit nicht im auslösenden Problem -> Fehler der Webautoren. To be corrected...
Zuvor wird zusätzlich ausdrücklich darauf hingewiesen, daß die zuvor getroffene Aussage mit dem Weglassen nur auf SGML-Dokumente im Speziellen angewendet werden darf.
Gut, HTML als Teilmenge von SGML sollte man dazu eigentlich mitzählen, aber aus der Formulierung lese ich, daß man vom Gebrauch dieser Sonderregelung in HTML absieht, da nicht im HTML-Standard selber festgelegt!
Aber das ist nur meine Meinung. Trotz allem sollte es immer Ziel sein _guten_ Code zu schreiben, den _jeder_ Browser versteht. Der Hinweis auf die Verwendung eines bestimmten Browsers darf höchstens bei DHTML-Problemen kommen... (aber auch hier sollte der Autor für größtmögliche Kompatibilität Sorge tragen).
Bye
BioNauT
Moin
Wenn Du den Link weiterverfolgt hättest,
habe ich ,
Also: _nur_ direkt vor anderen HTML-Tags gilt diese
sonst hätte ich nicht "unter bestimmten Umständen" geschrieben. Ob diese Umstände vorliegen, war aus dem Ausgangspostings (für mich) nicht erkennbar. Um den Möglichkeitscharakter zu unterstreichen, habe ich zusätzlich das Wort "darf" in Anführungstriche gesetzt.
Aber das ist nur meine Meinung. Trotz allem sollte es immer Ziel sein _guten_ Code zu schreiben, den _jeder_ Browser versteht. Der Hinweis auf die Verwendung eines bestimmten Browsers darf höchstens bei DHTML-Problemen kommen...
Zustimmung! Denn wir schreiben Seiten für die Besucher und nicht für die Browser. An _erster_ Stelle steht der veröffentlichte Inhalt (neudeutsche: content ;-) ), Layout oder DHTML sind nach Möglichkeit "nur" Mittel zum Zweck der Veröffentlichung - ausgenommen sind natürlich Seiten, in denen die Darstellung moderner Techniken zum Inhalt gehört.
Viel Grüße
Swen