utf-8 comparaison caractères spéciaux
Bonjour,
J'ai quelques problèmes d'encodage, lorsque je transfère des chaines de caractère en java vers une base de donnée (mysql) dont le champ est encodé en "utf8_unicode_ci"
J'ai testé d'insérer "2" puis "²" dans ce champs, mais comme ce champ doit être unique, et que apparemment "2" et "²" sont identique, alors j'ai une erreur "Duplicate entry".
J'aimerai savoir si cela est possible, sous java, de comparer ces deux chaines ("2" et "²" ) avant que je l'envoie à la base de donnée. Afin d'éviter l'erreur.
J'ai testé :
Code:
1 2 3
| public static String removeAccent(String source) {
return Normalizer.normalize(source.toLowerCase(), Normalizer.Form.NFD).replaceAll("[\u0300-\u036F]", "").trim();
} |
Cela marche pour les caractères accentués mais pas dans ce cas là :/
Existe t-il une technique permettant de comparer ces deux chaines ?