文章原鏈接:http://bbs.51cto.com/thread-1009032-1.html
由於最近兩天在玩下socket通話,突然在控制檯輸入的中文都是亂碼了。
Scanner input = new Scanner(System.in);
String str=input.next();
這樣接收控制檯輸入的中文都是亂碼,這個問題好像以前聽別人問過,只是沒有深入去了解。最後還是被自己碰到了
搞了半天才找出問題。由於中文操作系統的默認的編碼是GBK,而JVM是默認系統的編碼的,然後如果在MyEclipse上面把編碼改爲UTF-8的話有可能會造成亂碼(一般情況下是不會的,不知道爲什麼我那個偏偏不是一般情況)。
下面分享下解決方案吧。
然後選擇你的類,我的是socket的客戶端,所以是Client這個類。
在右邊添加-Dfile.encoding=GBK到VM arguments這裏
下一步把默認的編碼修改成GBK
然後直接保存,運行,就可以了。
希望對大家有用處吧。