CA:
new String(maChaine.getBytes("ISO8859-15"), "UTF8").
Ca ne fait CERTAINEMENT pas une conversion, ça fait une soupe!
Tu prend ta chaine, tu la "sauve" (byte[]) en ISO8859-15 et puis tu lui dit de la relire en disant "ha mais tout compte fait, non j'ai stocké de l'UTF-8", ca n'a pas de sens.
Pour sauver en UTF-8, on crée un Writer avec de l'utf-8, et tu fais un write(laString) avec ça. Et tu n'a pas besoin de l'encodage d'origine:
1 2 3 4 5 6 7
| Reader r = clob.getReader();
OutputStream outputStreamFichier = new FileOutputStream(....);
Writer w = new OutputStreamWriter(outputStreamFichier,"UTF-8"));
char[] buffer = new char[2048];
int read = 0;
while ( (read=r.read(buffer)) > 0)
w.write(buffer,0,read); |
+ nettoyage / flush / fermeture etc
Partager