电脑重装系统后,重新安装了最新版的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