J'ai aucune idée de ce qui t'a amené à faire ça, mais :
- Si vraiment tu as mis le paramètre -Dfile.encoding=ISO-8859-1 et qu'il n'est pas écrasé par une autre config quelque, part, alors
new String(stringToEncode.getBytes(), "ISO-8859-1")
Signifie en substance
new String(stringToEncode.getBytes("ISO-8859-1"), "ISO-8859-1")
Ce qui crée une copie absolument identique de stringToEncode.
Donc la ligne complète est équivalente à :
String(stringToEncode.getBytes("UTF-8"))
Qui est elle-même, à la même condition, équivalente à
String(stringToEncode.getBytes("UTF-8"), "ISO-8859-1")
Cela aura pour effet de transformer par exemple "héhé" en "héhé".
Je ne comprends pas qu'il y ait besoin de faire cela et à mon avis il y a erreur de conf' quelque part, faire simplement characterEncoding=UTF-8 et ficher la paix à -Dfile.encoding aurait dû suffire. Tu dis que tu as essayé, que tu as fait tous les tests (sans le prouver malgré ma demande) montrant que tu ne t'es pas trompé dans l'encodage du fichier .java lui-même.
Je dois donc te croire sur parole et penser que ce bricolage est nécessaire en attendant de savoir quoi d'autre peut se configurer avec MySQL.
Partager