Bonjour,
je dois lire un fichier encodé au format "UTF-8" pour conserver son contenu
dans une chaine de caractères (String).
Mon fichier s'affiche correctement (avec les accents) sous PsPad avec le format "UTF-8".
Voici le contenu du fichier : «
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <?xml version="1.0" encoding="UTF-8"?> <import dateHeureImport="2008-03-21T11:25:35+01:00" code="954"> <evenements> <!--Gestion de la liste des événements--> <evenement codeEvenement="EV_ACCENT4"> <!--Description de l'événement EV_ACCENT--> <libelleEvenement>Des accents : é à î è ' "</libelleEvenement> <descriptionEvenement>Des accents : é à î è ' "</descriptionEvenement> </evenement> </evenements> </import>
J'ai essayé d'écrire 2 solutions pour lire mon fichier :
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 1) String flux = FileUtils.readFileToString(fichier, "UTF-8"); //(en utilisant l'API Apache commons-io) 2) java.io.BufferedReader br = new java.io.BufferedReader( new java.io.InputStreamReader( new java.io.FileInputStream(file[0]), "UTF-8" ) ); String ligne; StringBuilder str = new StringBuilder(); int nbLignes = 1; while((ligne = br.readLine())!=null){ if (nbLignes == 1) { str.append("\n"); } str.append(ligne); nbLignes++; } String flux = str.toString();
Mais dans les deux cas, via le mode debug d'Eclipse et la fonctionnalité "inspect",
je constate que les accents de mon fichier sont valorisés avec le caractère "?" :
Voici le détail du fichier : «
».
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <?xml version="1.0" encoding="UTF-8"?> <import dateHeureImport="2008-03-21T11:25:35+01:00" code="954"> <evenements> <!--Gestion de la liste des ?v?nements--> <evenement codeEvenement="EV_ACCENT4"> <!--Description de l'?v?nement EV_ACCENT--> <libelleEvenement>Des accents : ? ? ? ? ' " </libelleEvenement> <descriptionEvenement>Des accents : ? ? ? ? ' "</descriptionEvenement> </evenement> </evenements> </import>
C'est grave docteur ?
Comment faire pour récupérer le contenu du fichier dans un String tout en gardant
les accents ?
Avez-vous une idée ?
Merci d'avance pour votre aide,
F.
Partager