У меня есть приложение GUI с меню, элементами, ярлыками и так далее. Их видимое имя содержит символы Unicode. Теперь мне нужно отобразить это приложение правильно, с символами Unicode. Если я запускаю jar, java использует системную кодировку по умолчанию, которая не является unicode. Я могу исправить эту проблему, добавив аргумент -Dfile.encoding = UTF-8 в командную строку с -jar <app.jar>
. Но скажем, я хочу дать банку кому-то, и для него может быть немым открыть CMD и передать некоторые аргументы в java. Actualy, java vm - это программа, в которой аргументы запуска делают большие вещи. Приложения Java работают в java vm. Поскольку manifest.mf переходит к аргументу jvm о пути к основному методу программы, который он будет запущен, почему у нас нет, например, функции в файле manifest.mf, массива аргументов, которые будут использоваться в jvm, когда запуск приложения. Я знаю, что java больше используется для создания полезных функций, а для графических приложений - C, но java - отличный язык, за исключением некоторых недостатков виртуальной машины. У меня была идея моей основной программы, что она откроет новый java vm с соответствующими аргументами и запустит приложение там. Тогда убей себя. Я также знаю об обертке jar для exe, поэтому exe-файл будет запускать jvm и app, но тогда я потеряю многоплатформенную компактность. Спасибо за ответы. Надеюсь, я не писал здесь бесполезно.Возможно ли запустить приложение, закодированное в unicode без терминала?
ответ
Несколько вопросов здесь, но позвольте мне дать вам общее руководство:
Когда пакет JAR, метаданные в файле JAR, такие как имена входа, комментарии и содержание манифеста , должен быть закодирован в UTF8 (выполняется для ярлыков и т. д.). Это справедливо независимо от того, упакован ли JAR с помощью утилит командной строки или некоторой среды IDE. Поэтому прежде всего проверьте, что ваши файлы с метками и т. Д. Кодируются UTF8.
Возможно, что ваша собственная ОС имеет настройку, отличную от юникода. Поэтому, когда вы редактируете и сохраняете файл .properties (или что-то еще) с ярлыками, они фактически не сохраняются в UTF8.
Если вы упаковываете «запускаемый» JAR, он должен работать с UTF-8, если у вас есть метки UTF-8 внутри JAR.
Примите взгляд на этот вопрос также: How to Force a jar to uses(or the jvm runs in) utf-8 instead of the system's default encoding
Файлы свойств хранятся с использованием 'ISO Latin-1' aka' ISO 8859-1', см. ['Properties.load'] (http://docs.oracle.com/javase/8/docs/api/java/util /Properties.html#load-java.io.InputStream-)... – Holger
- 1. Как запустить приложение Mac без окон терминала
- 2. Я хочу запустить программу без использования терминала - это возможно? как?
- 3. Возможно ли запустить приложение JavaFX в браузере?
- 4. Возможно ли запустить Android-приложение без запуска Activity
- 5. Возможно ли запустить приложение ember-cli без HTTP-сервера?
- 6. Возможно ли запустить приложение с двоичным файлом без iPhone SDK?
- 7. Возможно ли запустить приложение Adobe AIR без установки?
- 8. Возможно ли запустить приложение командной строки без отображения его окна?
- 9. Как запустить Python без терминала
- 10. как запустить приложение python без использования терминала на ubuntu
- 11. Возможно ли запустить Spring без сервера приложений?
- 12. Возможно ли запустить JavaFx без X-сервера?
- 13. Возможно ли запустить Mule3 без пружинной зависимости?
- 14. Возможно ли запустить mc из терминала SSH Intellij Idea?
- 15. Возможно ли запустить программу с терминала и продолжить ли ее работу после закрытия терминала?
- 16. Возможно ли запустить приложение MIDP под Android?
- 17. Как запустить программу Tkinter без открытия терминала
- 18. Не удается запустить приложение JavaFX из терминала
- 19. Возможно ли запустить vlookup без открытия таблицы?
- 20. Возможно ли запустить datanitro без открытия excel
- 21. Как запустить приложение Android из эмулятора терминала
- 22. Запустить скрипт python с droneapi без терминала
- 23. Как запустить исполняемый файл без открытия терминала?
- 24. Возможно ли получить вход терминала в init()?
- 25. Возможно ли написать приложение Chrome без Angular.js?
- 26. Возможно ли сделать приложение без активности
- 27. Возможно ли запустить приложение в Windows Phone в фоновом режиме?
- 28. Возможно ли запустить приложение в режиме производства в симуляторе?
- 29. Возможно ли запустить приложение при сканировании тега NFC?
- 30. Устный перевод Unicode с терминала
«для графического интерфейса приложений есть C» -большой LOL. Но серьезно, вы должны прочитать имя свойства 'file.encoding' и прочитать его снова и снова, думая о том, что он пытается сказать вам. После того, как вы прочитали имя медленно несколько раз, неужели вы все еще удивляете вас, когда я говорю вам, что он ничего не делает с графическим интерфейсом? – Holger
Да, я понимаю. Я просто хочу сказать, написав приложение на C, я бы получил полный контроль над своей программой, и виртуальная машина не ограничивала бы меня. И я думаю, что если бы у меня было приложение CLI, я должен определить свой собственный поток и кодировку. Но как это сделать с графическим интерфейсом, где я использую некоторые библиотеки. –
Кажется, вы все еще не понимаете. Нет никаких оснований для kludge с этим свойством; это совершенно не относится к приложениям с графическим интерфейсом. Библиотеки GUI используют unicode. Единственное место, где это имеет значение, это (файл) ввода/вывода *, если вы не указали кодировку * в своем коде. Нет функции, которая заставляет вас использовать стандартную кодировку системы, для каждой функции, которая имеет дело с этой кодировкой по умолчанию, есть альтернатива, которая принимает параметр кодирования как параметр. Если ваше приложение не хочет использовать кодировку по умолчанию, это не обязательно. Ваша проблема заключается не в том, что у вас есть графический интерфейс. – Holger