2012-09-16 104 views
2

如何在java中使用特殊字符? 它们属于Cp1252字符编码。 我尝试在消息中使用它们,但我无法使用它们。Java中的特殊字符

字符,如: “︻ー┳═デ”

+0

您是试图在源代码中写入字符还是打印他们输出?你可以请张贴一些代码来展示你如何使用这些角色。 – Nicholas

+2

日本片假名DE是**不**在CP1252 – ninjalj

+0

@ ninjalj当我尝试保存它时,它给出CP1252错误 @尼古拉斯我使用外部API。 ()+ ChatColor.RED + attacker.getName()); – user1621988

回答

3

使用相关UTF值,例如在http://www.fileformat.info/info/unicode/char/search.htm查找 'デ' 给出\ u30C7的值,以便您可以:

System.out.println("\u30C7"); // as string 

System.out.println('\u30C7'); // as char 
+0

System.out.println(\ u30C7); - >无法解析 \t \t System.out.println(“\ u30C7”); - >输出:? 如何正确使用这些UTF? – user1621988

+0

纠正示例 –

+0

好的,两个输出都是?,怎么能解决这个问题? – user1621988

0

您可能会在System.out左右换行PrintWriter,以明确设置字符集。

final String charset = "UTF-8"; 
PrintWriter out = null; 
try { 
    out = new PrintWriter(new OutputStreamWriter(System.out, charset), true); 
} catch(UnsupportedEncodingException e) { 
    e.printStackTrace(); 
} 

至于?作为字符显示 - 这真的取决于你在哪里输出标准输出流。在标准的Ubuntu终端 - 它可能看起来不错(我可以测试它)。但是,在Windows'cmd上,您应该手动设置代码页Chcp并提供这些字符附带的字体。

对Eclipse来说也是如此,它的控制台字符集是UTF-8,我相信,但是如果你没有带日文字符的字体,它对你无能为力。

0

当您在Java代码中使用带有特殊字符的字符串文字时,还必须通知Java编译器编码Java文件本身的编码。

假设您编辑了您的Java文件(包含日文文本文本)并将其保存为UTF-8文件。您必须,然后,告诉编译器把源文件为UTF-8号文件:

javac -encoding UTF-8 file1 file2 ...

否则,Java编译器将假定Java文件是使用操作系统的默认编码编码,这不一定是你想要的。