Il y a deux ans j'avais publié un petit billet sur le nettoyage d'accents en PHP à l'aide d'Iconv. J'ai eu besoin de faire la même chose en Java récemment, seulement le mode //TRANSLIT n'existe pas.
Fort heureusement, une petite recherche m'a permis de trouver mon bonheur :
String decomposed = Normalizer.normalize(accented, Normalizer.Form.NFKD);
StringBuilder buf = new StringBuilder();
for (int idx = 0; idx < decomposed.length(); ++idx) {
char ch = decomposed.charAt(idx);
if (ch < 128)
buf.append(ch);
}
String filtered = buf.toString();
En résumé, ce bout de code décompose les caractères accentués en suite de caractères simples (exemple : è donne e`) puis ne conserve que les caractères ASCII (code ASCII < 128).
Enjoy it !