歡迎使用CSDN-markdown編輯器

文章原鏈接: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

然後直接保存,運行,就可以了。
希望對大家有用處吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章