@Christoffer Hammarström - Спасибо за предложение. Я записал строку обратно в файл, используя OutputStreamWriter с указанным набором символов UTF-8, и полученный файл действительно правильно отображает символы в другом приложении, так что я думаю, все хорошо. Должна быть просто консоль Eclipse, которая меня бросила.

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

Ответы на вопрос(4)

Ваш ответ на вопрос