2009-09-11 87 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默认编码是什么。