0

我正在从 Unix 运行我的 Java 程序。为了简化问题,我只描述相关部分。

public static void main(String[] args) {  
    System.out.println("féminin");  
} 

我的输出是垃圾。这显然是一个字符编码问题,法语字符 é 没有正确显示。我尝试了以下方法:

public static void main(String[] args) {  
    PrintStream ps = new PrintStream(System.out, true, "ISO-8859-1");  
    ps.println("féminin");  
} 

但是我的输出仍然显示?代替法语字符。
我在命令提示符下运行了相同的 efile,java -Dfile.encoding=IBM437 DSIClient féminin
它运行良好。但是我怎样才能用 Unix 解决这个字符编码问题呢?谢谢

4

1 回答 1

1

问题很可能是您的代码编辑器和终端仿真器使用不同的编码,而且 Java 的默认编码概念可能也不同。

要查看您的终端和您的编辑器是否同意,您可以简单地使用cat您的 java 源文件。é 是否正确显示?如果是这样,您在源代码编辑器和终端中使用相同的编码,但它不是 Java 的默认编码。如果,OTOH,你看不到 é,你需要找出你的终端和你的编辑器使用什么编码,并让他们达成一致。

于 2013-09-23T09:48:42.370 回答