Comment convertir du texte Unicode qui ressemble à l’anglais au format ASCII?

J’ai un texte comme “Précédemment” qui ressemble à l’anglais mais contient des caractères non-ASCII:

entrer la description de l'image ici

Quel serait le moyen le plus simple de le convertir en texte anglais (pour que “P” soit une lettre majuscule latine P, par exemple)?

Pour simplifier, supposons que les caractères non anglais sont en russe. Mais, une solution plus générale sera très appréciée!

Langues préférables: Javascript, Ruby, script Bash.

Bien que certaines lettres cyrilliques (et grecques) soient identiques à certaines lettres latines en apparence graphique (c’est-à-dire qu’il n’ya probablement aucune différence dans les fonts contenant les deux), aucune correspondance formelle n’est définie entre elles. Vous devrez donc définir vous-même le mappage. Pour le russe, il y a un nombre assez limité de telles lettres, il s’agirait donc d’une petite table de correspondance. Mais si vous voulez couvrir tout Unicode, il y a un grand nombre de sosies et presque de sosies, alors le plus difficile serait de décider quels caractères sont suffisamment similaires.

Si le nombre de caractères à convertir est faible (par exemple l’alphabet russe), un simple dictionnaire associant des caractères d’entrée à des caractères de sortie suffirait.

Il suffit de parcourir la chaîne et, pour chaque caractère, de chercher s’il se trouve dans le dictionnaire et, si oui, de le remplacer par le caractère de remplacement stocké dans le dictionnaire.