Ваш исходный файл производит "öä" путем объединения символов.
Посмотрите на это:
System.out.println(Arrays.toString("\u00F6\u00E4".getBytes("ISO-8859-1")))
Это напечатает [-10, -28] так, как вы ожидаете (мне не нравится печатать его таким образом, но я знаю, что это не точка вашего вопроса), потому что там указаны кодовые точки Unicode, высеченные в камне и вашему текстовому редактору запрещено «играть умно», сочетая «о» и «а» с диакритическими знаками.
Как правило, когда вы сталкиваетесь с такими проблемами, вы, вероятно, хотите использовать две команды OS X Un * x, чтобы понять, что происходит под капотом: file
и hexdump
очень удобны в таких случаях.
Вы хотите запустить их в исходном файле и, возможно, захотите запустить их в своем файле класса.