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 @   问北  阅读(2761)  评论(3编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示