molily: Sonderzeichen in Ankernamen

Beitrag lesen

Hallo,

Ich weiß nicht, ob diese Unterscheidung nun wirklich gerechtfertigt ist, aber

<a name="ö">..</a>
<a href="#ö">..</a>

funktioniert jedenfalls browserübergreifend.

Schon klar. ;) Das Problem ist eben, dass <a href="#ö"> nicht erlaubt ist, weil »ö« nicht unmaskiert in einer URI auftauchen darf. Siehe http://www.w3.org/TR/html4/appendix/notes.html#non-ascii-chars. Deshalb wirds erst kompliziert, ansonsten bestünde nicht viel Diskussionsbedarf.

Im übrigen funktioniert <a href="#ö"> <a name="ö"> auch nicht ohne weiteres. Wenn ich in einem ISO-8859-1-kodierten Dokument <a href="utf-8.html#ö"> notiere, macht Firefox daraus ein utf8.html#a%F6 (was logisch ist, wenn nicht sogar notwendig). Und das funktioniert wie gesagt nur in einem ISO-8859-1-kodierten Dokument, nicht im UTF-8-kodierten Dokument. (<a href="iso-8859-1.html#ö"> im UTF-8-kodierten funktioniert, weil Firefox iso-8859-1.html#a%C3%B6 daraus macht, was <a name="ö"> im ISO-8859-1-kodierten findet.)

Opera, MSIE und Konqueror setzen <a href="#ö"> <a name="ö"> um, aber schreiben einfach ...#ö in die Adresszeile. Wunderbar, eine nicht-URI in der Adresszeile. Muss man auch nicht wollen...

Mathias