Я пытаюсь прочитать файл, содержащий некоторые японские символы.
RandomAccessFile file = new RandomAccessFile("japanese.txt", "r");
String line;
while ((line = file.readLine()) != null) {
System.out.println(line);
}
Он возвращает некоторые искаженные символы вместо японских. Но когда я конвертирую кодировку, она печатает ее правильно.
line = new String(line.getBytes("ISO-8859-1"), "UTF-8");
Что это значит? Является ли текстовый файл кодировкой ISO-8859-1?
$ file -i japanese.txt
возвращает следующее:
japanese.txt: text/plain; charset=utf-8
Пожалуйста, объясните, для чего явно требуется, чтобы файл конвертировался из Latin 1 в UTF-8?