Я некоторое время читал о кодировке Unicode и UTF-8, и, думаю, я это понимаю, поэтому, надеюсь, это не будет глупым вопросом:
У меня есть файл, содержащий несколько символов CJK и сохраненный как UTF-8. У меня установлены различные азиатские языковые пакеты, и символы правильно отображаются другими приложениями, поэтому я знаю, что многое работает.
В моем приложении Java я прочитал файл следующим образом:
// 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);
В выходных данных символы CJK отображаются как '???'. Звонок на is.getEncoding()
подтверждает, что он определенно использует UTF-8. Какой шаг мне не хватает, чтобы персонажи выглядели правильно? Если это имеет значение, я смотрю на вывод, используя консоль Eclipse.