mac系統命令行窗口輸入javac命令,輸出中文亂碼得問題


查了下,貌似是因為shell窗口使用得編碼是utf-8,而javac使用gbk,所以產生亂碼,解決方案包括這么一些:

1. 告訴javac程序輸出utf-8

javac -J-Dfile.encoding=UTF-8

 

2.  將終端得環境設置成 gbk

打開終端( terminal)窗口,點擊桌面左上方的終端(terminal)-->偏好設置(preferences)-->設置-->高級-->字符編碼-->中文(GBK) 

 

參考資料1


 

 

java和javac在簡體中文的Mac OSX的終端(Terminal.app)環境下,默認是以GBK編碼的中文輸出各種諸如語法錯誤,數組訪問越界之類的信息。

但是,Mac的終端的默認編碼是UTF-8,所以javac和java在未配置的情況下會輸出亂碼。

解決方法有3個:

1)指定輸出的編碼為UTF-8
javac -J-Dfile.encoding=UTF-8

2)輸出英文
export LC_ALL=en

3)通過iconv轉碼
javac something|iconv -f GBK -t UTF-8

對我來說,2)是最好的方案。一是可以把這個加入到.profile里,一勞永逸;二是輸出為英文的話,可以搜索到更多的相關信息,畢竟英文資料比中文多得多。

另外還看到有人提到可以設置終端的編碼為GBK。這個方法對我來說不太可行,因為我的大部分程序都是以UTF-8輸出的。

 

參考資料2


 

 

在MAC OS X 控制台下使用Javac命令編譯java程序時,會出現亂碼的情況,現提供一種解決辦法:
打開終端( terminal)窗口,點擊桌面左上方的終端(terminal)-->偏好設置(preferences)-->設置-->高級-->字符編碼-->中文(GBK)

注意事項:可以選擇左側一個非默認風格的窗口進行設置,因為默認的字符編碼為UTF-8兼容性更好.設置好以后選擇你設置風格的窗口運行javac即可.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM