Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java “正在尝试打印”;“白色笑脸”;使用UTF-16字符代码\u263A_Java - Fatal编程技术网

Java “正在尝试打印”;“白色笑脸”;使用UTF-16字符代码\u263A

Java “正在尝试打印”;“白色笑脸”;使用UTF-16字符代码\u263A,java,Java,我正在尝试使用以下Java代码行将“白色笑脸”打印到控制台窗口: System.out.println( '\u263A' ); 我没有得到笑脸,但其他一些字符,看起来有点像一个问号 我正在使用jdk和jre版本1.8.066运行Windows7Pro操作系统,有什么提示吗 注意:我使用console窗口中的ConsoleAs字体,它根据字符映射对话框将代码映射到表意文字。这在代码中并不是一个真正的问题。正如评论者所指出的,编写Unicode代码点与应用程序或操作系统选择如何将字节序列呈现为字

我正在尝试使用以下Java代码行将“白色笑脸”打印到控制台窗口:

System.out.println( '\u263A' );
我没有得到笑脸,但其他一些字符,看起来有点像一个问号

我正在使用jdk和jre版本1.8.066运行Windows7Pro操作系统,有什么提示吗


注意:我使用console窗口中的ConsoleAs字体,它根据字符映射对话框将代码映射到表意文字。

这在代码中并不是一个真正的问题。正如评论者所指出的,编写Unicode代码点与应用程序或操作系统选择如何将字节序列呈现为字符之间存在差异。以下是我在Mac上得到的信息:

> javac TestWhiteSmilingFace.java && java TestWhiteSmilingFace
☺
但Windows控制台不支持Unicode输出。相反,它在Windows上运行

如果您愿意将输出通过管道传输到一个单独的文件,然后在记事本中打开它,那么这里有一种方法对我来说是成功的

  • 使用
    /U
    选项启动cmd.exe。如中所述,此选项强制重定向到文件的命令输出采用Unicode格式
  • 将命令输出重定向到一个文件,即
    java TestWhiteSmilingFace>TestWhiteSmilingFace.txt
  • 在记事本中打开文件,即
    Notepad TestWhiteSmilingFace.txt
  • 前面的回答更详细地讨论了Windows控制台的Unicode限制,并建议使用作为潜在的解决方法


    您的命令提示符可能有不同的编码,如ISO XXXX。您可以将完全相同的16位“Unicode代码点”输出到Windows命令提示符、记事本文本文件、Linux终端或MS Word文件。。。您可能会看到四个不同的“角色”呈现。非常有用的链接:谢谢克里斯。关键是“Windows控制台不支持Unicode”。在