Hallo,
<form action="...php" method="post" accept-charset="ISO-8859-1, ISO-8859-2, UTF-8">
Dieses accept-charset ist ULTRABÖSE! Bitte schmeiße es raus, verwende AUSSCHLIESSLICH UTF-8!
Es erlaubt dem Browser, die eingegebenen Zeichen in einer der drei Codierungen zu senden. Leider sendet er aber nicht mit, welche Codierung er gewählt hat, d.h. du kannst auf dem Server nicht mehr feststellen, ob da jetzt jemand den eher sinnlosen Text "ä" eingegeben und der Browser ISO-8859-1 gesendet hat, oder ob stattdessen eher "ä" eingegeben und der Browser UTF-8 gesendet hat.
Kleine Ergänzung:
Man kann es durchaus - mit ziemlichem Aufwand - serverseitig feststellen, z.B. indem man ein verstecktes Eingabefeld mit einem Zeichen befüllt, dass in den drei Kodierungen jeweils mit einer unterschiedlichen Bytesequenz kodiert wird. Oder man nutzt ein verstecktes Eingabefeld mit dem Namen _charset_. Manche Browser schreiben dort automatisch die verwendete Kodierung hinein. Oder man schaut, ob im Content-Type-Header des POST-Requests eine charset-Angabe vorhanden ist; manche Browser geben diese an.
<input type="hidden" name="indikator" value="¡">
<input type="hidden" name="_charset_">
Was aber nichts an der Empfehlung ändert, nur UTF-8 zu verwenden.
Wenn man UTF-8 benutzt, muss man höchstens damit rechnen, dass uralte Browser gerne mal notorisch ISO-8859-1 senden. Dazu wären die besagten Methoden weiterhin anwendbar.
Mathias