Java中的特殊字符

时间:2012-09-16 09:03:08

标签: java character-encoding message

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

字符如:“︻ー┳=デ”

3 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:0)

您可以在PrintWriter周围包裹System.out,以明确设置字符集。

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我相信,但如果你没有日文字符的字体,它不会帮助你。

答案 2 :(得分:0)

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

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

javac -encoding UTF-8 file1 file2 ...

否则,Java编译器将假定使用操作系统的默认编码对Java文件进行编码,这不一定是您希望它执行的操作。