Боюсь, ничего готового гугль не находит. И это действительно очень сложная и комплексная задача, совсем непохожая на работу mb_strtoupper(). С изменением регистра символов все просто — есть символы юникода, есть таблицы соответствия. А вот таблиц «близости по звучанию» — нет. И что-то мне подсказывает, что создать их вне зависимости от контекста языка невозможно.
Даже в фонетических языках есть большой произвол в звучании одних и тех же букв в зависимости от контекста. А та же кириллица используется во многих языках, звуча при этом немного по разному.
Что уж говорить про иероглифы, которые кодируясь одними и теми же последовательностями байт, звучат различно для разных народов их использующих. Тем более, что звуки языков с переменной тональностью довольно сложно передать посредством ASCII.
Но вот, в частности нашел таблицы для русского:
textpattern.ru/html/transliteration-tables.htm