2

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

像这样的字符:“︻ー┳═デ”

4

3 回答 3

3

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

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

System.out.println( '\u30C7' ); // as char
于 2012-09-16T09:13:45.073 回答
1

当您在 Java 代码中使用带有特殊字符的字符串字面量时,您还必须告知 Java 编译器 Java 文件本身是用哪种编码方式编码的。

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

javac -encoding UTF-8 file1 file2 ...

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

于 2012-09-16T10:07:26.837 回答
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,但如果你没有带有日文字符的字体,它对你没有多大帮助。

于 2012-09-16T09:19:16.883 回答