Axel Richter: Element IMG: UTF-8-Sonderzeichen in der URI

Beitrag lesen

Hallo,

Aus deiner Sicht betrachtet muss das Betriebssystem aber doch etwas von UTF-8 wissen, weil Nummer 2 (die "binäre Darstellung" in UTF-8) ja funktioniert.

Ja, weil der Browser nicht bläd anfordert, sondern bläd. Dein Editor speichert offensichtlich kein UTF-8. Dadurch werden die beiden Bytes ä in einem Latin-1 Dokument gespeichert, welches dem Browser dann per charset=UTF-8 als UTF-8 untergeschoben wird. Dieser erzeugt dann aus den _zwei_ Bytes ä das _eine_ Zeichen ä.

Heißt das, dass das BS nur das Unescapen der UTF-8-Zeichen nicht hingekriegt hat; hm, aber wieso hat dann bei Latin-1 das Unescapen geklappt?

Nein, es heißt, dass das Betriebssystem nichts mit UTF-8-Dateinamen anfangen kann. Das Unescapen klappt. Es wird in Windows sicherlich durch einen URL-Handler in einer *.dll erledigt.

Du bezeichnest das Betriebssystem mit dessen Dateisystem als "Server". Dem könnte ich mich problemlos anschließen, wenn es eine native Betriebssystemfunktion gäbe, die URLs in (ja, wie bezeichne ich das) System-Identifier auflöst.

Das muss es geben, sonst könnte man ja keine URL-Verknüpfungen im Dateisystem erstellen. Das kann man aber.

a) Die Varianten 2 und 3 hab ich mir "ausgedacht", nachdem die in meinen Augen saubere Variante 1 nicht funktioniert.
Bei mir, mit Apache2 unter Windows,

Wenn ich jetzt ganz tief bohren wollte ;) könnte ich fragen, warum denn der Apache (ist doch letztlich auch nur ein Browser),

Bitte? http://httpd.apache.org/

der ja auf demselben "Server" Betriebssystem sitzt wie mein Firefox, das denn mit genau der URL kann, die über meinen Firefox nicht funktioniert.

Er, der HTTP-Server, und nicht mehr das Betriebssystem direkt, liefert die Ressource hinter der URL aus. Er arbeitet dabei mit dem Betriebssystem zusammen, kann das aber offensichtlich so, dass auch UTF-8-Ressourcenbezeichner funktionieren.

viele Grüße

Axel