s. Thema. Besucher Hugo hat die Möglichkeit, am Browser eine Zeichenkodierung einzustellen.
Wieso sollte ein Benutzer diese Einstellung ändern? Ein manueller Override der vom Browser festgestellten Zeichenkodierung wird in 99% der Fälle Unsinn erzeugen.
Falls das Hugo macht, bevor er ein Formular submittet, Frage: wie kann ich serverseitig feststellen, was Hugo eingestellt hat?
Die Kodierung eines Strings herauszubekommen ist nicht zuverlässig möglich. Wenn ich da Unsinn einstelle, wirst du selbst mit einem Prüfzeichen nicht zuverlässig in Erfahrung bringen können, welche Kodierung es ist.
Heutzutage stellt sich das Problem nicht mehr. Wenn du die Zeichenkodierung des Dokuments richtig angibst (HTTP-Header, meta-Angabe) und das Formular zudem mit einer accept-charset-Angabe versiehst, dann kannst du dir sicher sein, dass diese Kodierung für die Formulardaten verwendet wird.
Natürlich gibt es den Fall, dass der Benutzer manuell die Zeichenkodierung umstellen kann (z.B. vom automatisch erkannten UTF-8 auf das "falsche" ISO-8859-1). Dann werden die Formulardaten je nach Browser gegebenenfalls als Latin-1 gesendet. Aber wieso sollte man das tun? Dann sind doch alle Nicht-ASCII-Zeichen auf der Seite kaputt und die Texte unlesbar. Für solche mutwillige Sabotage lohnt es sich doch nicht, eine Ausnahmebehandlung zu schreiben.