...
j ai également tenté la solution présenté ici mais j ai toujours un problème d'accent ...
http://www.exampledepot.com/egs/java...nvertChar.html
Salut,
Commences déjà par faire un code plus propre : http://www.developpez.net/forums/d62...s/#post3691899
a++
Tu ne spécifies pas l'encodage du fichier de sortie dans l'OutputStreamWriter, et donc tu utilises l'encodage par défaut du système... et il manque toujours les try/finally sur les fermetures...
Enfin ta méthode encodString() ne sert à rien et est même une erreur : en Java les String sont toujours encodé en UTF-16...
C'est lors de la lecture/ecriture dans un fichier qu'il faut gérer l'encodage...
Ton code de copie devrait ressembler à quelque chose comme cela :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 try { // On récupère le charset dès le début (génère une erreur en cas de charset inconnu) final Charset charset = Charset.forName("8859_1"); final BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), charset)); try { final String outputFile = "C:\\deployement\\yamina-1.0.0-SNAPSHOT-.dir\\datec\\" + fileName + ".xml"; final BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outputFile), charset); try { String line; while ((line = reader.readLine()) != null) { line = line.replace("$affaireID", affaireId); line = line.replace("$commune", commune); line = line.replace("$district", district); writer.write(line); System.out.println(line); } } finally { writer.close(); } } finally { reader.close(); } } catch (IOException e) { // TODO : Traitement des erreurs : }
a++
Non non et non : les String sont TOUJOURS en UTF-16 et ce code ne donnera rien de bon !!!
Ici tu convertis ta String en tableau de bytes encodé selon l'encodage par défaut du système (qui peut varier : cp1252, utf8...) et tu interprètes cela comme de l'ISO-8859-1 ce qui est incorrect !
Si tu as un problème d'encodage c'est lors de la lecture : comment tu obtiens word ?
a++
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager