2009-09-11 120 views
0

當我編譯在Mac端的Java文件,輸出是亂碼,怎麼解決呢?(我的操作系統語言是中國)javac命令亂碼


感謝您的幫助。 我的輸出如下當它顯示javac的幫助文檔: 章zhongdemacbook:???〜zhangzhong $ javac的 ÷??? javac的<ѡ??> <ԴL> ??? ????Уܵ ?ѡ??????? -g ?????? -g:無?????? -g:{lines,vars,source} ?? ??Ϣ - 現在?κξ??? -verbose ???????????? -deprecation ???'??? ??? ?? API ??λ?? -classpath <·??> ?? ????????????????? -cp <·??> ?? ???????????????? -sourcepath <·??> ?? ??????????? ?? ?? -bootclasspath <·??> ??? ???????????? ?? ?? -extdirs <ǰ¼>ǰչչ??¼??λ?? -dendorseddirs <????¼>ǩ???ı?׼·?????? -proc:{none,only} ????????? -processor [,, ...]Ҫ???е ????????????ƣ??ƹ?我?ε????????? -processorpath <·??> ?? ?????????????? -d <ָ¼>ָ?ɵļλλλ -s <ָ¼>ָɵԴļļλλ -implicit:{none,class}Ƿ???Ƿ?Ϊ??'?????ļ????????ļ? -encodingָ??Դ??????? ?? ?? -source?ṩ??ָ???汾????????? -target ???????? VM?汾?????? -version?汾??Ϣ -help ?????׼ѡ?????Ҫ -Akey [= value] ????????????????????? -X?????DZ׼?ѡ -Jֱ?ӽ? ݸ??ͳͳ

回答

2

我假設你的意思是你的Java程序的輸出在Mac OS上編譯時出現亂碼。您需要確保A)源文件的字符編碼與工作站使用的字符編碼相同(大多數IDE默認執行此操作),或者B)指定javac-encoding選項以匹配文件的字符編碼。

如果這樣不能解決問題,那麼在運行java時,請確保使用命令行選項-Dfile.encoding=<encoding>將系統屬性「file.encoding」設置爲字符編碼。

請注意,在您的程序中將此設置爲System.setProperty將不起作用。在啓動JVM並進行緩存期間讀取該值。稍後更改它不會影響控制檯輸出。

1

如果使用Terminal.app,請轉到首選項並選擇編碼選項卡,請選擇UTF-8和所有簡體中文變體。

如果這沒有幫助,我們需要找出您的JVM默認編碼是什麼。