JDK编译时出现乱码问题(以JDK8(1.8)和JDK17为例)

先看代码,写个最简单的HelloWorld

public class HelloWorld {
    public static void main(String[] args) {
			System.out.println("Hello World");
			System.out.println("中国人民");
			System.out.println(System.getProperty("java.version"));//jdk版本号
			System.out.println(System.getProperty("java.home"));//jdk所在目录
			System.out.println(System.getProperty("os.name"));//所用系统版本号
			System.out.println(System.getProperty("user.dir"));//当前文件所在地址
	}
}

1.jdk17乱码问题解决方案

因为java17不再需要编译,一般我们直接输入:java 文件名.java直接运行即可,但如果含有中文,便会出现乱码问题,以HelloWorld文件为例吧,我们只需在文件名前面加上-Dfile.encoding=utf-8就行

java -Dfile.encoding=utf-8 HelloWorld.java

2.jdk1.8乱码问题解决方案

jdk1.8不能直接运行,需要先编译后运行,如果有中文,会出现乱码,编译不通过,只需编译时在文件名.java后空格加上-encoding utf-8即可,运行时不要加后缀名(.java .class都不要加)

java HelloWorld -encoding utf-8 //编译

java HelloWorld //执行
经验分享 程序员 微信小程序 职场和发展