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é :
Cela marche pour les caractères accentués mais pas dans ce cas là :/
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public static String removeAccent(String source) { return Normalizer.normalize(source.toLowerCase(), Normalizer.Form.NFD).replaceAll("[\u0300-\u036F]", "").trim(); }
Existe t-il une technique permettant de comparer ces deux chaines ?
Partager