При вызове java-программы из командной строки с аргументами в качестве русских символов эти аргументы не распознаются программой. Что можно сделать, чтобы этого избежать?
Код программы:
public class Test {
public static void main(String[] args) {
System.out.println(args[0]);
System.out.println("Тест 2");
}
}
Код запуска (bat файл):
chcp 65001
java -Dfile.encoding=UTF-8 -Dconsole.encoding=UTF-8 -jar "Best program.jar" "Привет мир2"
В итоге вывод:
?????? ???2
Тест 2
UPD: решение проблемы не нашёл, в итоге запускаю программу на сервере(Linux) через php-скрипт, так программа нормально работает с аргументами:
exec('java -jar "Best program.jar" "Привет мир2"');
У вас, скорее всего, .bat
файл сохранен в кодировке cp1251
, перекодируйте его в UTF-8
, всё должно заработать.
Манипуляции с кодировкой консоли и JVM не нужны. Просто
> javac -encoding utf-8 Test.java
> java Test "Привет мир"
Естественно, кодировка Test.java должна соответствовать значению ключа encoding
.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Я использовал библиотеку AndroidX Preference для своего проектаЭтот проект имеет главное меню и подменю
Есть веб форма, в которой есть возможность отправки файла на сервер на сервлетах javaНе могу сообразить, как мне организовать принятие файла...