Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.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
javac不在命令行上输出unicode_Java_Windows_Unicode_Cmd - Fatal编程技术网

javac不在命令行上输出unicode

javac不在命令行上输出unicode,java,windows,unicode,cmd,Java,Windows,Unicode,Cmd,上下文:Windows10,cmd.exe,JavaC9.0.1 我有unicode编码的源代码。如果我运行javac-encoding UTF-8…时出现错误,我就无法让它正确显示源代码 如图所示,cli可以很好地打印unicode字符。您可以通过运行 System.getProperty("file.encoding") 您可以使用此属性更改默认编码 对于Windows,它通常是-cp1252 长话短说,队列来自: 在内部,Java虚拟机(JVM)总是使用数据进行操作 使用Unicode

上下文:Windows10,cmd.exe,JavaC9.0.1

我有unicode编码的源代码。如果我运行
javac-encoding UTF-8…
时出现错误,我就无法让它正确显示源代码

如图所示,cli可以很好地打印unicode字符。

您可以通过运行

System.getProperty("file.encoding")
您可以使用此属性更改默认编码

对于Windows,它通常是-
cp1252

长话短说,队列来自:

在内部,Java虚拟机(JVM)总是使用数据进行操作 使用Unicode。但是,所有传入或传出JVM的数据都处于 与file.encoding属性匹配的格式。读入JVM的数据 从file.encoding转换为Unicode,数据从 JVM从Unicode转换为file.encoding


javac似乎没有使用终端的字符编码

您可以使用以下标志指定JVM的字符编码:

java -Dfile.encoding=UTF-8 ...
(或任何编码)

Javac只是一个围绕Java程序的薄包装器。您可以使用
-J
标志将参数直接传递给其JVM。因此:

javac -J-Dfile.encoding=UTF-8 ...

我想知道投票结束的原因是什么?这对我来说似乎是个合理的问题。如果你修复了丢失的
它在告诉你什么?编译后的代码是否如您所期望的那样工作?这似乎是一个有趣的社区;-)@那跟这个问题有什么关系?问题不在于代码是否正常工作,而在于javac输出问题。@eis如果javac生成预期的类文件,那么它只是一个显示人工制品。否则,javac无法正确解释代码。
javac
不是我的程序。
cp
似乎是正确的。正如您在图片中看到的,我实际上可以显示unicode字符-甚至是模糊的字符。请尝试
javac-J-Dfile.encoding=UTF-8…
,也许?@herr.kaste-huh,幸运发现。不管怎样,我还是把它写下来作为回答。我爱你!工作很有魅力。