Hallo,
Habe Deine Anregung aufgegriffen und ein wenig herumprobiert. Ergebnis: Dein Vorschlag würde tatsächlich helfen ... wenn nicht UTF-8 wiederum Probleme mit anderen Sonderzeichen wie á,é und Umlauten hätte, die dann gar nicht oder als [] ausgegeben werden ...
Das passiert nicht, wenn Du konsequent bei UTF-8 bleibst. Es kommt eben UTF-8 vom Formular an und muss auch als solches verarbeitet werden. Deine Beispiele sehen so aus, als würdest Du UTF-8 als irgendwas anderes ausgeben. In welchem Editor (Viewer) passiert das? Welches charset soll denn Deine text/plain-Ausgabe haben? Schau mal hier http://de2.php.net/manual/en/function.utf8-decode.php und lies auch die Kommentare.
Wenn es nur Polnisch unterstützen soll, dann kannst Du der HTML-Seite und/oder dem Formular charset=ISO-8859-2 verpassen. Dann kommen die Textdaten auch in diesem Format vom Formular an. Unbehandelt (wobei ich nicht weiß, ob das mit PHP überhaupt geht oder ob man immer mit http://de.php.net/mbstring arbeiten muss) sollte Deine text/plain-Ausgabe dann auch charset=ISO-8859-2 sein.
Wenn es international sein soll, dann _musst_ Du Unicode (bsp.:UTF-8) verwenden und eben konsequent dabei bleiben. Zu Internationalisierung via PHP siehe http://www.koders.com/?s=charset+i18n&_%3Abtn=Search&_%3Ala=PHP&_%3Ali=*.
viele Grüße
Axel