Moin,
wenn du UTF-8 benutzt, musst du dich nur um ein paar Sonderzeichen kümmern, und das macht html_special_chars() für dich. Wenn du eine Zeichenkodierung benutzt, die vom Benutzer eingegebene Zeichen nicht kodieren kann, werden die meistens vom Browser in HTML-Maskierungen (ῐ z. B.) umgewandelt, was nicht nur umständlich vom Maskieren der anderen Zeichen ausgenommen werden muss, sondern auch nicht eindeutig erkennen lässt, ob denn nun das Sonderzeichen oder tatsächlich diese Zeichenfolge gemeint war. Daher empfehle ich dringend, UTF-8 zu benutzen. Bei XML und damit auch XHTML ist das ohnehin Standard.
Man kann übrigens auch dem Formular ein "accept-charset"-Attribut verpassen, soweit ich weiß wird diese Anweisung jedoch von den meisten Browsern ignoriert und immer die Zeichenkodierung verwendet, die auch zur Auslieferung der Seiten diente.
Tschau,
Martin