I pretty much like the idea of hdogan, but there's at least one group of characters he's missing: ligature characters.
They're at least used in Norwegian and I read something about French, too ... Some are just used for styling (f.e. ﬁ)
Here's an example that supports all characters (should at least, according to the documentation):
var_dump(transliterator_transliterate('Any-Latin; Latin-ASCII; Lower()', "A æ Übérmensch på høyeste nivå! И я люблю PHP! ﬁ"));
In this example any character will firstly be converted to a latin character. If that's finished, replace all latin characters by their ASCII replacement.