查了下,貌似是因为shell窗口使用得编码是utf-8,而javac使用gbk,所以产生乱码解决方案包括这么一些:
java和javac在简体中文的Mac OSX的终端(Terminal.app)环境下,默认是以GBK编码的中文输出各种诸如语法错误数组访问越界之类的信息。
但是Mac的终端的默认编码是UTF-8,所以javac和java在未配置的情况下会输出乱码
对我来说,2)是最好的方案一是可以把这个加入到.profile里,一劳永逸;二是输出为英文的话可以搜索到更多的相关信息,毕竟英文资料比中文多得多
另外还看到有人提到可以。这个方法对我来说不太可行因为我的大部分程序都是鉯UTF-8输出的。
注意事项:可以选择左侧一个非默认风格的窗口进行设置,因为默认的字符编码为UTF-8兼容性更好.设置好以后选择你设置风格的窗口运荇javac即可.