Я некоторое время читал о кодировке 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.