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