OS:win10 64位
IDEA 版本:2017.3.4(Utimate Edition)
Tomcat 版本:9.0.16
1、命令行下Tomcat乱码
在Window下使用Tomcat,配置好Tomcat的路径后,在DOS下,输入命令startup,可以快速启动TomcaT,但是会发现输出之中有许多乱码。如下图:
我们可以通过修改Tomcat安装目录下的conf中的logging.propeties文件。消除中文乱码。
将其中的UTF-8改为GBK。完成后,保存修改。然后我们重新在命令行下启动Tomcat,其中乱码消失,正常显示中文。
2、IDEA中Tomcat乱码处理
IDEA编码的配置
- 首先是项目文件编码配置,在File>Settings>Editor>File Encodings中,配置如下图。其中第3个可选可不选,解释可以参考这篇博客关于IDEA中”transparent native-to-ascii conversion”的解释。 
- 控制台编译乱码处理,在File>Settings>Build,Exception,Deployment>Compiler>Java Compiler中,在编译时添加命令参数 - -encoding utf-8。
- Tomcat的编码配置 
 在Tomcat的配置中,我按原始的配置。下面是操作步骤。
 a. 点击菜单栏的Edit Configurations。
  
 b. 点击左上角加号,然后找到Tomcat,选择本地。
  
 c. 首先点击- Configure选择Tomcat,然后设置主页地址,可以选择80端口也可以8080。最后,对于画线部分的参数,我没有加貌似也不会乱码,不过有一些人添加了这个参数,好像也没什么问题。
  
 如果添加了该参数,会在- Startup/Connection的下面产生红色部分的命令。
  
 d. 部署到Tomcat上。在- Deployment中点击加号,选择- Artifacts。
  
 其中war为发布版,打包为war包后部署,war exploded将保持文件目录形式部署,因此该形式支持热部署(对jsp,class等文件的修改可以及时显示出效果)。因此,开发时一半使用war exploded形式,方便修改。这里选择war exploded。 - 完成以上配置后OK即可。 
- idea64.exe.vmoptions文件的配置
 该文件在你的IDEA的安装目录下的- bin目录中。
 如果你是32位启动,则修改- idea.exe.vmoptions。我的配置如下:
 我看了一些别人的处理IDEA中Tomcat的乱码配置,会在这两个文件中加入- -Dfile.encoding=UTF-8。(解决IntelliJ IDEA控制台输出中文乱码问题)。不过我尝试了这个操作,反而会使IDEA启动Tomcat时输出乱码,去掉后反而正常。你可以自己尝试一下,修改文件后记得需要重启IDEA才会生效。
IDEA Tomcat启动效果
控制台Tomcat输出:
网页效果:
Tomcat乱码:
在idea64.exe.vmoptions文件添加-Dfile.encoding=UTF-8后。运行效果:
出现乱码: