如何在java中使用特殊字符?它们属于 Cp1252 字符编码。我尝试在消息中使用它们,但我无法使用它们。
像这样的字符:“︻ー┳═デ”
如何在java中使用特殊字符?它们属于 Cp1252 字符编码。我尝试在消息中使用它们,但我无法使用它们。
像这样的字符:“︻ー┳═デ”
使用相关的 UTF 值,例如在http://www.fileformat.info/info/unicode/char/search.htm上查找 'デ'会给出 \u30C7 的值,因此您可以:
System.out.println( "\u30C7" ); // as string
System.out.println( '\u30C7' ); // as char
当您在 Java 代码中使用带有特殊字符的字符串字面量时,您还必须告知 Java 编译器 Java 文件本身是用哪种编码方式编码的。
假设您编辑了 Java 文件(包含日语文本)并将其保存为 UTF-8 文件。然后,您必须告诉编译器将源文件视为 UTF-8 文档:
javac -encoding UTF-8 file1 file2 ...
否则,Java 编译器将假定 Java 文件使用操作系统的默认编码进行编码,这不一定是您希望它执行的操作。
您可以环绕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,但如果你没有带有日文字符的字体,它对你没有多大帮助。