1. 程式人生 > >Java控制檯中輸入中文輸出亂碼的解決辦法

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就正常了。

以上是測試的程式碼:



執行結果: