The main hassle with iconv is that you just have to watch your encodings, but it's definitely the right tool for the job (I used 'Windows-1252' for the example due to limitations of the text editor I was working with ;) The feature of iconv that you definitely want to use is the //TRANSLIT flag, which tells iconv to transliterate any characters that don't have an ASCII match into the closest approximation.

Note, this doesn't work properly when locale category LC_CTYPE is set to C or POSIX (you can check what your locale is with echo setlocale(LC_ALL, 0);). All non-ascii characters will be converted to ?s. Instead you will need to set the locale to something else first: e.g. setlocale(LC_ALL, "en_US.UTF-8").
–
MikeJun 7 '13 at 6:05

@Mike thanks for your hint. If not for you, I might have never solved that problem.
–
Buttle ButkusJul 18 '13 at 23:40