in reply to Unicode in Perl

You have to trust Perl here: if you get an "illegal Unicode characters" your data probably isn't Unicode. My guess would be that it's just ISO 8859-2 (see The ISO 8859 Alphabet Soup for more details).

There are probably modules to help you convert this, although I don't know them, but a naive way would be to use tr/// to do the substitution.

Something like this would work:

perl -e' $s="à tarif très réduit"; $s=~ tr/\xE0\xE8\xE9/aee/; print $s, "\n";'

Note that I used latin-1 (ISO-8859-1) characters because that's what my editor likes, but you can use the ISO-8859-2 table to define your own substitution.