javac 命令指定编译路径中的中文文件夹名乱码

系统:windows10专业版,事先已经将系统的字符编码集设置为了UTF-8,如下图:

img

编译环境:JDK 18

打算在 cmd 命令行通过 javac 命令将 .java 文件编译为 .class 文件,编译过程中指定了 .class 目录的存放路径,存放路径包含中文,如下图:

img

该命令行的字符编码集经过检查,确为 UTF-8,如下图:

img

原本想着编译出来的指定路径会多一个名为 “测试” 的文件夹,结果却出现了乱码的文件夹名,如下图:

img

网上去查了资料,说是编译过程中要指定字符编码集,于是删掉乱码的文件夹,重新进行编译,如下图:

img

结果编译出来的文件夹名还是跟先前一样乱码。

另外还有人说要事先设置环境变量 JAVA_TOOL_OPTIONS 值为 -Dfile.encoding=UTF-8,试过了,编译出来的文件夹名还是乱码。

不知道有没有哪位同行遇到过这种问题,是什么原因?该如何解决呢?

设置的编码格式,指的不是文件名而是文件内容的编码方式。
开发中,不要使用中文、空格等特殊字符作为路径,否则就容易出现乱码导致路径找不到问题。