fackel: Element IMG: UTF-8-Sonderzeichen in der URI

Beitrag lesen

Hi,

Da ist kein Server im Spiel. Ich stecke das HTML direkt in den Firefox.
Doch ist ein Server im Spiel. Für das file-Protokoll ist das Betriebssystem und dessen Dateisystem zuständig. Das weiß wohl nichts von UTF-8.

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. 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?

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. Ich würde aber eher (aus meiner Programmierpraxis - sprich, Code anderer Leute lesen, weil ich zu wenig selbst schreibe) vermuten, dass diese Auflösung im Browser (oder weiter unten, in Apache2) programmiert ist, weil das Betriebssystem nativ wohl nur "System-Identifier"  nicht aber URIs/URLs versteht.

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), der ja auf demselben "Server" Betriebssystem sitzt wie mein Firefox, das denn mit genau der URL kann, die über meinen Firefox nicht funktioniert.

funktionieren in einem mit
Content-Type: text/html; charset=UTF-8
ausgelieferten Dokument folgende Links:

<a href="bläd.html">bl&auml;d</a>
<a href="bl%C3%A4d.html">bl&auml;d</a>
<a href="bl&auml;d.html">bl&auml;d</a>

Beim Server kommt dabei jeweils:

GET /bl%C3%A4d.html HTTP/1.1

an und wird korrekt als im Dateisystem gespeicherte bläd.html ausgeliefert.

So hatte ich mir das auch bei meiner initialen Variante 1 gedacht, bis mir die Browser einen Strich durch die Rechnung machten.

c) Was will ich #1: Ich suche nach einem Weg, Sonderzeichen in SRC in IMG zu verwenden, so dass HTML-Browser zuverlässig damit umgehen können.
Wenn das 100%-ig der Fall sein soll, dann verwende keine nicht-ASCII-Sonderzeichen in Ressourcenbezeichnern. Wenn doch, bist Du immer vom Verhalten der Browser und der ausliefernden Server abhängig und das kann durchaus nervig sein.

Ich (als Entwickler) kann leider die Sonderzeichen in Dateinamen nicht verhindern, muss also damit leben :-( Und wie mir aus der sehr hilfreichen Diskussion scheint, werde ich keine "schöne" Lösung dafür einsetzen können.

viele Grüße

Axel