Bonjour à tous,
Je rencontre un problème d'encodage de caractère sous Eclispe.
Je crée un fichier essai.txt dont le contenu contient uniquement le mot "négligé", encodé à priori en UTF-8. Lorsque j'ouvre un outil Scanner pour lire son contenu et le redirigé vers la sortie standard, il ne prends pas en compte les accents...
Voici mon code java :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class toto {
public static void main(String[] args) {
Scanner fileReader;
try {
fileReader = new Scanner(new File("./essai.txt"), "UTF-8");
System.out.println(fileReader.nextLine());
fileReader.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
} |
Le résultat est : Ensuite, je modifie l'encodage du fichier essai.txt pour le mettre en UTF-16 (Java utilise bien en interne UTF-16, n'est-ce-pas ?) grace à la fonction Unix iconv :
iconv -f UTF-8 -t UTF-16 essai.txt > essai2.txt
Je modifie alors la déclaration de l'objet file Reader dans le code Java en
fileReader = new Scanner(new File("./essai2.txt"), "UTF-16");
Mais..., le résultat est toujours le même...
Le résultat est : Pourquoi donc n'ai je pas les accents... ???? Quelqu'un a t il une idée ?
Pour information, je suis sous Eclipse Kepler Service Release 2 et sous Mac os X 10.9.1, sait on jamais si cela peut être utile...
Voici aussi les fichiers essai.txt et essai2.txt utilisés :
essai2.txtessai.txt
Partager