1

我创建了一个包含一些德语特殊字符的测试 swt 应用程序。当我从 Eclipse 运行这个应用程序时,它工作正常,但是如果我创建应用程序的 jar 并从终端运行 jar,它会显示错误的特殊字符。

例如,我在关闭应用程序时显示了“ Sie sind sicher, dass Sie, um die Aufnahme zu schließen? ”消息,但是当我从终端运行应用程序时,它显示的字符如图所示。

在此处输入图像描述

正如您在图像中看到的,有一些特殊字符无法正确显示。

我正在使用 Mac Lion。JDK详细信息是

java 版本“1.6.0_31”Java(TM) SE 运行时环境(构建 1.6.0_31-b04-415-11M3646)Java HotSpot(TM) 64 位服务器 VM(构建 20.6-b01-415,混合模式)

我正在使用以下命令从终端运行应用程序

java -cp :./final/* mypackege.MainClass -d32 -Dfile.encoding=UTF-8

我尝试从命令行指定 UTF 编码但没有效果。

4

1 回答 1

1

您还没有告诉我们您是如何获取字符串的,但如果它在源代码中,则可能只是在构建时指定编码的问题,例如

javac -encoding UTF-8 ...

显然,根据您的源代码实际使用的任何编码来定制它。

于 2012-05-24T16:56:57.090 回答