Hallo,
in erster Linie würde ich mich fragen in welcher Sprache wird der Benutzer die Texte eingeben. Daraus ließe sich dann ableiten welche Sonderzeichen (= Zeichen oberhalb von US-
ASCII) zu erwarten sind. Dementsprechend wird dann eine umkodierung des Zeichensatzes in den von dir verwendeten Zeichensatz vorgenommen (hier tatsächlich US-
ASCII -- was für den recoder bedeutet alle Umlaute/"Sonderzeichen" durch die entsprechenden phonetischen Äquivalente zu ersetzen). Klingt kompliziert - ist es auch, funktioniert aber. Ideal wäre das Ganze nach UTF8 zu kodieren, aber damit steht selbst Windows XP noch ein wenig auf Kriegsfuss... Insofern bleibt alles was nicht "erwartet" wird (= zu erwartende Standardsprache des/der Anwender/s) als Sonderfall aussen vor.
Ich empfehle:
http://www.gnu.org/software/recode/recode.html
In dem Quellcode findet man alles was zu diesem Thema programmiert werden könnte (Sprache C), allerdings nur für OpenSource Projekte...
mfg
Eike