hi,
»» Und dann löse Dich mal von dem Begriff "Zeichensatz".
verstehe nicht. warum soll ich mich nun davon lösen ?
Der Begriff kommt aus dem Druckerhandwerk (Setzkasten). Wir hingegen schaffen mit Zeichenkodierungen. Freilich ist die Anzahl der Zeichen, die kodiert werden können, der Zeichenvorrat also, abhängig vom Code und dessen Länge. Beispielsweise können mit 7 Bit ebend nur 127 Zeichen kodiert werden (ohne NULL). Bei 8 Bit sind es schon 255 Zeichen usw.
Wenn Du Dein Form mit UTF-8 auslieferst und der Besucher ein 'ü' eintippst, macht der Browser beim Abschicken ein URI-encoding (früher hieß das escape), aus dem 'ü' wird ein '%C3%BC' und so geht das über den Draht.
Hättest Du das HTML-Formular mit der Kodierung ISO-8859-1 zum Browser geschickt, würde aus dem 'ü' ein '%FC'.
Mach Dir mal die Freude und rechne FC oder C3BC von hex nach dezimal. Im ersten Fall bekommst Du eine 252 und die passt noch in eine Kodierung, wo mit 8 Bit auskommt. Im zweiten Fall reichen 8 Bit nicht mehr, aber schau selbst...
Schließlich wird der Begriff 'charset' oftmals als 'Zeichensatz' übersetzt, obwohl 'set' von 'setting' abgeleitet ist. <http://de.selfhtml.org/inter/index.htm@title=Siehe auch hier unter Internationalisierung>.
Jetzt hättn wir das mal geklärt ;-)
Was Dein CGI mit dem eingegebenen Zeichensalat macht, ist eine andere, aber nicht weniger interessante Sache und falls es damit Probleme gibt, her damit.
Hotte
Wenn der Kommentar nicht zum Code passt, kann auch der Code falsch sein.