У меня есть приложение JavaFX/Groovy, которое я пытаюсь локализовать.Проблемы с кодировкой символов Java webstart
Оказалось, что при использовании стандартного исполнения JavaFX с Java VM arg -dfile.encoding = UTF-8 локально отображаются все мои международные символы (например, ü).
Однако, если я вызываю приложение через JNLP-файл, используя java-vm-args = "- Dfile.encoding = UTF-8", например.
<resources>
<j2se version="1.6+" java-vm-args="-Dfile.encoding=UTF-8"/>
...other stuff...
</resources>
Приложение показывает международные символы как пару других случайных символов (например, √¬).
Я неправильно указываю кодировку файла в JNLP или есть какая-то разница между стандартным исполнением и веб-стартом, которая влияет на это?
Многозначительный.
EDIT: Я использую API Groovy для доступа к веб-сервису Remember the Milk RESTful. Весь текст, который является проблематичным, будет получен из полученных данных (например, имен задач) и фактически не хранится на диске в двоичном или текстовом формате. Любопытно, что «-Dfile.encoding = UTF-8» на самом деле исправит его локально.
Оказывается, вы можете указать только определенные «благословленные» аргументы VM в JNLP. Арги, которые не считаются «безопасными», просто игнорируются. См. Http://download.oracle.com/docs/cd/E17476_01/javase/1.5.0/docs/guide/javaws/developersguide/syntax.html#resources для списка тех, которые работают DO –