3

ローカライズしようとしている JavaFX/Groovy アプリケーションがあります。

Java VM 引数 "-Dfile.encoding=UTF-8" を使用して JavaFX 標準実行をローカルで使用すると、すべての国際文字 (ü など) が正しく表示されることがわかりました。

ただし、Java-vm-args="-Dfile.encoding=UTF-8" などを使用して、JNLP ファイル経由でアプリを呼び出す場合

<resources>
    <j2se version="1.6+" java-vm-args="-Dfile.encoding=UTF-8"/>
    ...other stuff...
</resources>

アプリケーションは、国際文字を他のランダムな文字 (√¬ など) のカップルとして表示します。

JNLP でファイル エンコーディングを正しく指定していませんか、それとも標準実行と Webstart の間にこれに影響する違いがありますか?

とても有難い。

編集: Groovy API を使用して、Remember The Milk RESTful Web サービスにアクセスしています。問題のあるすべてのテキストは、取得されたデータ (タスク名など) に由来し、実際にはバイナリまたはテキストでディスクに保存されません。「-Dfile.encoding=UTF-8」が実際にローカルで修正されるのは不思議です。

4

1 に答える 1

4

テキストをバイナリに、またはその逆に変換するすべての場所で、エンコーディングを明示的に指定することを強くお勧めします。デフォルトを設定した後でも、JVMのデフォルトに依存することは、私には良い考えとは思えません。テキストで何をしているのかを実際に述べていませんが、保存または読み込み時にエンコーディングを明示的に設定すれば問題ありません。

于 2010-07-09T15:13:20.853 に答える