Eclipse 控制檯輸入中文再讀出來亂碼的解決方案
阿新 • • 發佈:2018-11-01
今天寫了一個程式,發現怎麼都調不通,後來debug發現,原來是eclipse又調皮了,
主要問題在於,當我用new Scanner().next();輸入一箇中文字串進去時,eclipse獲取到的這個字串竟然是亂碼的,以前都沒有這樣的情況;
下面用一段測試程式碼展示一下這個問題:
package cn.yqh.main; import java.util.Scanner; public class Test { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("請輸入一箇中文詞語:"); String s = sc.next(); System.out.println("你輸入的中文詞語為:"); System.out.println(s); } }
debug模式:
我明明輸的是中國,進入程式以後變成了亂碼。
結果:
後來百度了很久,最終找到解決辦法:
解決步驟如下:
(1)關閉Eclipse;
(2)在Eclipse.exe同目錄下,有一個eclipse.ini,開啟,然後新增這麼一句:
-Dfile.encoding=utf-8
儲存;
(3)重新開啟Eclipse,問題就沒有了。
-Dfile.encoding=utf-8,就是字面上的意思,設定系統屬性file.encoding為utf-8.
這裡的-Dfile.encoding=utf-8兩邊一定不要出現空格,否則設定無效。