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
后。运行效果:
出现乱码: