Automatische Ãœbersetzung von deutschen Umlauten in Links in HTML Dokumenten
Heute ist mir wieder mal ein (potenzieller?) Bug in Internet Explorer aufgefallen:
– Das Dokument ist im ISO-8859-1 Zeichensatz geschrieben. Der HTTP-Header sowie die META-Angabe zu Content-Type spezifizieren ausdrücklich ISO-8859-1.
– Der Link enthält in der URL einen deutschen Umlaut (ebenfalls ISO-8859-1 codiert; jedoch kein URL-Encoding).
Firefox konvertiert das „ü“ beim Klick richtig nach „%FC“, der Latin1 Version in URL-Encoding.
Internet Explorer und Opera hingegen verwenden die UNICODE-Version „%C3%BC“.
Meinem Gefühl nach verhält sich hier demnach Firefox richtig, zumal nach Umstellung des Dokuments auf UTF-8 Firefox ebenfalls die UTF-Version des URL-Encoding verwendet.
Davon abgesehen liegt der Fehler vermutlich bei mir – ich sollte die Zeichen vorcodieren, dann stellt sich die Zeichensatz-Frage für den Browser erst gar nicht. Mal in den Standard-Dokumenten nachsehen – irgendwann…
Anmerkung: Folgende Begriffe sind äquivalent:
Latin 1 = ISO-8859-1
UTF-8 = UNICODE
—
Manuel
Am 7. März 2007 um 13:25 Uhr
Hallo,
kleine Korrektur … man mag mir Krümelkackerei vorwerfen: UTF-8 und Unicode sind wahrlich nicht _äquivalent_.
Unicode ist vielerlei – eine Idee, vielleicht noch eine Organisation oder gar Ausdruck für die Masse aller Zeichen, die weltweit auf IT-Anlagen darstellbar sein sollten. UTF-8 ist eine konkrete Form der Kodierung, um diese Zeichen technisch zu repräsentieren.
Oder banaler widerlegt: wenn UTF-8=Unicode und (zweifelsohne dann auch) UTF-16=Unicode und UTF-32=Unicode, dann auch UTF-8=UTF-16=UTF-32, was aber nicht zutrifft.
Am 16. September 2007 um 21:32 Uhr
Wäre super wenn Du die Lösung veröffentlichen würdest.
Ich habe das gleiche Problem (Safari kodiert auch falsch) und wäre sehr froh eine Lösung zu finden.
MfG Johannes Freund
Am 17. September 2007 um 10:29 Uhr
Hallo Johannes,
ich habe die Software dann so umgeschrieben, dass sie durchgehend UTF-8 verwendet. So funktioniert’s in allen Browsern, die wir getestet haben.
Aber:
Inzwischen schreibe ich die Umlaute aus. Also „ä“->“ae“ usw, da sich weiterhin Probleme mit RSS-Readern und -Verzeichnissen sowie auf Websites, die uns verlinken, ergeben haben.
Ich würde die Langform empfehlen, um auf Nummer Sicher zu gehen.
Hallo Thomas,
hast natürlich recht. Eigentlich lege ich auch Wert auf die richtige Verwendung von Fachbegriffen. Werd mich bessern 😉
Am 24. Oktober 2008 um 10:31 Uhr
Kleiner Nachtrag. Ich bin in anderem Zusammenhang nun über den passenden Teil der Spezifikation zum Thema gestolpert.
Das Verhalten von Internet Explorer ist in diesem Fall korrekt.
http://www.w3.org/TR/REC-html40/appendix/notes.html#non-ascii-chars