UTF-8 caractères CJK ne s'affichent pas dans Java

J'ai lu sur Unicode et UTF-8 depuis un moment et je pense que je le comprends, donc j'espère que ce ne sera pas une question stupide:

J'ai un fichier qui contient des caractères CJK, et qui a été enregistré en UTF-8. J'ai plusieurs langues d'Asie packs installés et les personnages sont correctement rendues par d'autres applications, donc je sais que beaucoup de travaux.

Dans mon application Java, j'ai lu le fichier comme suit:

//Create objects
fis = new FileInputStream(new File("xyz.sgf"));
InputStreamReader is = new InputStreamReader(fis, Charset.forName("UTF-8"));
BufferedReader br = new BufferedReader(is);

//Read and display file contents
StringBuffer sb = new StringBuffer();
String line;
while ((line = br.readLine()) != null) {
    sb.append(line);
}
System.out.println(sb);

La sortie affiche les caractères CJK '???'. Un appel à is.getEncoding() confirme que c'est bien en UTF-8. Ce qui me manque pour que les caractères s'affichent correctement? Si cela fait une différence, je suis à la recherche de la sortie en utilisant l'Éclipse de la console.

qu'est-ce que l'IDE(Netbeans, Eclipse, etc...) que vous utilisez?
Eclipse (Helios)
J'ai essayé avec les caractères arabes avant et la j'ai eu le même problème. Mais quand j'ai placé un point de bec et vérifié la chaîne, j'ai vu la chaîne affichée correctement. Je l'ai imprimée dans un fichier et c'était OK.
Merci pour la confirmation. D'autres tests ont confirmé que c'est juste ma Eclipse config que c'est la question.

OriginalL'auteur Twicetimes | 2011-05-11