Benutze im Formular accept-charset="utf-8" und liefere die Seiten auch als utf-8 aus, dann sollte es keine großartigen Probleme geben.
aha. das accept schreib ich dann also direkt ins form tag und wie liefere ich die Seiten als utf-8 aus?
Zum Beispiel mit 'header("Content-Type: text/html; charset=utf-8");' im PHP-Skript oder der Zeile 'AddDefaultCharset utf-8' (http://httpd.apache.org/docs-2.0/mod/core.html#adddefaultcharset) bzw 'AddCharset utf-8 text/html application/x-httpd-php' (http://httpd.apache.org/docs-2.0/mod/mod_mime.html#addcharset) in der Konfiguration Deines Apaches (auch .htaccess).
Überprüfe, ob dieser Zusatz auch im Browser ankommt. In der Regel lässt sich das mit der "Eigenschaften"-Anzeige einer Seite machen.
Beim Ausgeben von PHP-Variablen sollte man sowieso immer htmlentities() oder htmlspecialchars() verwenden, um das Einschmuggeln von HTML- oder Javascript-Code zu verhindern. Du hast die Wahl zwischen htmlentities() mit "utf-8" als drittem Parameter oder htmlspecialchars(). htmlspecialchars() ist etwas einfacher, weil keine Zusatzparameter anzugeben sind, allerdings ist dann die oben genannte Content-Type-Angabe zwingend erforderlich, bei htmlentities() wäre sie optional.
Benutzt Du eine Datenbank, solltest Du in ihrer Anleitung schauen, ob sie sich auf utf-8 explizit umstellen lässt. Es geht zwar auch ohne, allerdings könnte es dann merkwürdige Sortierreihenfolgen geben.
Beim Schreiben von Text im HTML-Quellcode musst Du lediglich darauf achten, dass Du keine Sonderzeichen, grob gesagt jene, wofür es HTML-Maskierungen gibt, eintippst, wenn Du keinen Unicode-fähigen Editor benutzt. Also nicht ä, sondern ä.
Hast Du einen Unicode-fähigen Editor, brauchst Du Dir auch darum keine Gedanken zu machen und musst lediglich als Speicherformat utf-8 angeben (auch hier: Content-Type zwingend erforderlich, ansonsten optional).
Ich hab bereits in die entsprechenden Seiten den entsprechenden ISO code und lang=hu eingegeben - reicht das noch nicht?
Welchen der Tausenden ISO-Codes Du meinst, weiß ich nicht. Die Angabe der Sprache alleine besagt jedenfalls noch nicht, welche Kodierungstabelle genutzt wird, um aus den Bytes der Dateien Schriftzeichen auf den Bildschirm zu malen.