Кодировка символов System.out
Я запускаю свою программу Java из командной строки (Windows 7). Чтобы упростить дело, я описываю только соответствующую часть.
public static void main(String[] args) {
System.out.println("Árpád");
}
Мой вывод - мусор. Это, очевидно, проблема кодирования символов, венгерские символы Á и á не отображаются правильно. Я пробовал следующее:
public static void main(String[] args) {
PrintStream ps = new PrintStream(System.out, true, "UTF-8");
ps.println("Árpád");
}
Но мой вывод все еще мусор. Как я могу решить эту проблему с кодировкой символов в командной строке Windows 7? Благодаря
Ответы
Ответ 1
Я получил ваш код для работы, найдя правильную кодировку из командной строки, а затем либо используя версию PrintStream
с этой кодировкой, либо указав ее в командной строке и просто используя System.out.println
.
Чтобы найти кодировку в командной строке, запустите chcp
. Вот результат, который я получил:
Active code page: 850
Это соответствует имени кодировки Java "IBM850". Таким образом, это создает правильный вывод в командной строке:
java -Dfile.encoding=IBM850 Test