Java控制檯中輸入中文輸出亂碼的解決辦法
阿新 • • 發佈:2019-02-19
在學習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就正常了。
以上是測試的程式碼:
執行結果: