Java控制台中输入中文输出乱码的解决办法

在学习Java IO的输入输出流的时候遇到了一个问题,就是无论用BufferedReader还是Scanner输入中文,在控制台输出的时候都会出现乱码的情况,而且不管在Window-Preferences中怎么改变编码方式都无效(包括UTF-8和GBK)。

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Demo22 {
	public static void main(String args[]) throws Exception {
		BufferedReader buf = null;
		buf = new BufferedReader(new InputStreamReader(System.in));
		String str = null;
		System.out.println("请输入内容:");
		try {
			str = buf.readLine();
		} catch (Exception e) {
			e.printStackTrace();
		}
		System.out.println("输入的内容为:" + str);
	}
}


后来发现在Run Configurations里的Common中将编码方式改成GBK就正常了。

以上是测试的代码:





运行结果:


原文地址:https://www.cnblogs.com/aukle/p/3215194.html