IDEA乱码Tomcat控制台乱码输出乱码报文乱码

电脑重装系统后,重新安装了最新版的IDEA 2019.2.2,出现乱码。百度了很多,慢慢的解决了乱码的问题,现记录如下。方法因人而异,不同的问题不一样的方法。

第一 修改IDEA文件编码格式

设置idea文件编码格式

第二 IDEA中配置Tomcat

配置Tomcat时,VM options填入-Dfile.encoding=UTF-8

第三 修改IDEA的配置文件

IDEA的配置文件,找到idea64.exe.vmoptions或idea.exe.vmoptions,打开在最后添加-Dfile.encoding=UTF-8

第四 打印输出乱码、返回数据乱码

都改好了,还是发现System.out.print("中文")打印到控制台是乱码,接口返回的数据中文也是乱码(配置了encodingFilter也不行)。如果你是maven工程,那么在你pom.xml文件添加如下代码

  <properties>
    <!-- 设置项目编码 -->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  </properties>

第五 Tomcat控制台乱码修改Tomcat配置文件

java.util.logging.ConsoleHandler.encoding 改为 UTF-8,需第三步配合。

第六 Tomcat server.xml

如果请求乱码,请考虑在箭头处添加 URIEncoding=“UTF-8” 

代码中规定了Tomcat监听HTTP请求的端口号等信息。在这里添加了一个属性:URIEncoding。

将该属性值设置为UTF-8,即可让Tomcat(默认ISO-8859-1编码)以UTF-8的编码处理get请求,避免中文乱码问题。

 第七 Tomcat升级后打印log乱码

如果是你升级后乱码了,不用第五步第三步了。看Tomcat的日志配置文件,tomcat/conf/logging.properties 这个文件就是tomcat的日志配置文件,只需要修改这个文件。tomcat在新版的日志配置文件中加了指定编码为UTF-8的配置。这就是乱码的根源了。

  • 将配置UTF-8那一行配置删除(这样应该就是采用操作系统默认编码,Windows下即为GBK)
  • 或不删除,将UTF-8改为GBK

 

posted @ 2019-09-14 16:17  问北  阅读(2721)  评论(3编辑  收藏  举报