У меня есть файл jar, который должен читать кодированный файл UTF-8, который я написал в текстовом редакторе под Windows, и отображать символы на экране. В OS X и Linux это работает безупречно. У меня есть немного проблем с тем, чтобы заставить его работать под Windows, хотя... Я определил читателя и писателя так:
FileInputStream file = new FileInputStream(args[0]);
InputStreamReader reader = new InputStreamReader(file, "UTF8");
PrintStream writer = new PrintStream(System.out, true, "UTF8");
Я также изменил шрифт командной строки на Lucida Console
и кодировку символов на UTF-8 с помощью chcp 65001
в этом порядке.
Теперь, когда я запускаю java -jar Read.jar file.txt
, приглашение отключает это.
áéí
ñóú
[]óú
[]
Однако, если я запустил type file.txt
, подсказка корректно отобразит содержимое файла.
áéí
ñóú
Я попытался сохранить мой файл с и без спецификации, но это не изменило ситуацию. (UTF-8 даже не нуждается в спецификации, потому что у нее нет верности?) Я пробовал компилировать с помощью javac -encoding utf8 *.java
, но то же самое происходит.
Теперь у меня нет идей. Кто-нибудь хочет помочь?