Hi!
Die Seite ist mit "utf8" codiert.
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Das ist nur ein Hinweis für den Leseprozess, dass sie UTF-8-kodiert sei, keine Anweisung an irgendwen, sie als UTF-8 zu kodieren. Das heißt, wenn du diese Zeile als Beweis anführen wolltest, dann hat das nicht geklappt.
<option value="c:/test/Meine+test~datei@mit-üöß&.txt">Meine+test~datei@mit-üöß&.txt</option>
Mein HTML Tidy bringt nun obige Meldung und möchte das man "&" mit "&" kodiert.
Recht hat es. Kontextwechsel beachten - in dem Fall die Sonderzeichen von HTML.
Für den angezeigten Namen könnte ich das machen. Nur was mache ich mit dem Value? Hier brauche ich den "echten" Namen so wie im Verzeichnis weil ich diese Datei event. weiterverarbeiten möchte?
Der Browser weiß, dass er die HTML-Kodierung beim Lesen zu dekodieren hat. Er weiß auch, wie er den Wert beim Versenden über HTTP (GET oder POST) so zu kodieren hat, dass der Webserver ihn korrekt dekodieren kann. Probier es doch einfach aus, was bei dir im Script ankommt.
Lo!