Tach!
die Daten werden ja beim Versand urlkodiert. Das macht der Browser vermutlich automatisch? Und die Kodierung der Daten bleibt erhalten?
Die URL-Kodierung muss dich nicht weiter interessieren, wenn du die Daten in $_GET/$_POST bereitgestellt bekommst, ist die Transportsicherung bereits wieder entfernt worden. Der Browser schickt üblicherweise die Daten in der Zeichenkodierung, die für die Webseite angegeben ist, in der das Formular liegt. Man kann dem Formular jedoch auch über accept-charset was anderes angeben (was nicht in allen Fällen funktionieren muss).
Nun möchte ich aber, dass der User auf meiner UTF-8 kodierten Homepage beim Formular auswählen kann, ob die Daten ASCII oder UTF-8 sind, ob es also ein-Byte oder Mehrbyte-Daten sind... geht das denn?
Nein.
Er kopiert also Ascii-Daten (aus einer Ascii-kodierten Datei) in das Formular meiner UTF-8 kodierten Webseite und schickt diese Daten ab. Zusätzlich die Information, dass es nicht UTF-8 Daten sind, die da kommen, sondern (ein-Byte) ASCII.
Er kopiert mit Betriebssystem-Mitteln, da hat er (in dem Moment) sowieso keinen Einfluss auf die dabei verwendete Kodierung. Der Browser bekommt die Daten vom Betriebssystem in einer definierten Form in das Eingabefeld gepastet und verwendet für den Transport die Seiten-/Formular-Kodierung (siehe oben). Wenn der Anwender die Daten aus einer Datei kopiert, muss/sollte er beim Öffnen bereits angeben, wie die Datei zu interpretieren ist.
dedlfix.