喂,
我有一个Java程序,带有命令行界面。它用于Linux和Windows。 Java代码是可移植的,我希望它保持可移植性。
我的Java源文件是Unicode格式 - 这很好。在他们中,我有这样的行:
System.err.println("Paramètre manquant. … ");
我使用Eclipse将打包程序作为JAR存档。
然后,程序由以下命令运行:
java -jar MyProgram.jar parameters
在Windows XP命令行中,这会给出:
ParamÞtre manquant. …
是否有一种可移植的方式在Java程序中使用重音编写字符串,以便它们在Windows命令行中正确显示?或者我们只需要与Windows一起使用愚蠢地替换重音E与冰岛刺?
我使用Java 6.
答案 0 :(得分:5)
在Java 1.6中,您可以使用System.console()代替System.out.println()来向控制台显示突出显示的字符。
public class Test2 {
public static void main(String args[]){
String s = "caractères français : à é \u00e9"; // Unicode for "é"
System.out.println(s);
System.console().writer().println(s);
}
}
,输出
C:\temp>java Test
caractþres franþais : Ó Ú Ú
caractères français : à é é
答案 1 :(得分:3)
答案 2 :(得分:1)
在编码unicode字符时尝试使用\u<XXXX>
。它在代码中看起来不太漂亮,但它可以工作并且可以移植。
例如:
String specialCharacters= "\u00E1 \u00E9 \u00ED \u00F3 \u00FA";
System.out.println(specialCharacters); // This will print á é í ó ú
检查Alepac的unicode字符表的答案。