这里的乱码问题,有两个,一是java文件中的乱码,比如注释;二是控制台输出的中文乱码
一、文件乱码
如果文件中有中文注释,出现这样的乱码
![](https://i-blog.csdnimg.cn/blog_migrate/bc7d06c14142111262ace4aa605c43c3.png)
eclipse -> window -> preferences -> General -> workspace, 修改编码格式为utf8
![](https://i-blog.csdnimg.cn/blog_migrate/98a1a7f65784d04db7f9b07b422836b7.png)
结果如下:
二、控制台乱码
java代码中需要添加一些打印信息:
结果输出如下:
![](https://i-blog.csdnimg.cn/blog_migrate/8f0d887d780b45e65525b02eee9d5790.png)
中文的全是乱码,修改如下:
打开Java程序运行配置对话框,在Common选项卡中的编码信息改为UTF8(Run Configurations.. -> Common),如图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/0f3e3f84323dd1fcf02f258f2930e4e4.png)
新的结果如下:
![](https://i-blog.csdnimg.cn/blog_migrate/77154fd6447ef96773a002bd83d63765.png)
你不要以为这就万事大吉了,如果是使用JDK1.8打包的jar,放到MAC下运行,中文显示正常,但如果为了兼容1.6
![](https://i-blog.csdnimg.cn/blog_migrate/cc577890d9f7f0e39aec26a406db3dc0.png)
这样打包的jar包,在mac下运行还是会出现乱码的情况,所以我们把System.out输出的log信息还是乖乖使用英文子串吧