IDEA控制台中文乱码的完整解决方案(小白也能轻松解决)

 更新时间:2025年09月22日 08:48:57   作者:一勺菠萝丶  
在开发过程中,很多小伙伴会遇到这种情况,在 IntelliJ IDEA 的控制台里,本来是中文路径或日志,却显示成一堆 �������� 的乱码,别担心,今天我们就来手把手解决这个问题,需要的朋友可以参考下

在开发过程中,很多小伙伴会遇到这种情况:

在 IntelliJ IDEA 的控制台里,本来是中文路径或日志,却显示成一堆 �������� 的乱码。

比如:

[INFO] skip non existing resourceDirectory D:\01_Myspace\15_��������\outdoor-rental-mall\yudao-framework\yudao-common\src\main\resources

是不是很崩溃?别担心,今天我们就来手把手解决这个问题。

一、为什么会乱码?

主要原因有两点:

  1. 编码不一致:IDEA 默认的 JVM 编码可能不是 UTF-8,而 Windows 系统默认是 GBK。
  2. 路径或日志里有中文:比如文件夹名字叫“户外租赁商城”,Maven 或控制台就可能显示成乱码。

二、解决方案

方法一:修改 IDEA 控制台编码(最常用)

  • 打开 IDEA → 点击菜单 HelpEdit Custom VM Options…
  • 在文件里添加一行:
-Dfile.encoding=UTF-8
  • 保存并重启 IDEA。

这样 IDEA 内部 JVM 默认编码就是 UTF-8 了,控制台就不会再乱码。

方法二:修改 Maven 编码

如果你是 运行 Maven 项目 时看到乱码,还要加上 Maven 的编码配置。

pom.xml 里找到 <properties> 节点,添加:

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

然后在 IDEA 里设置 Maven VM Options:

  • 打开 File → Settings → Build Tools → Maven → Runner
  • VM Options 里加上:
-Dfile.encoding=UTF-8

方法三:避免中文路径(推荐)

很多小伙伴的项目路径里有中文,比如:

D:\01_Myspace\15_户外租赁商城\outdoor-rental-mall

这种情况下,即使设置了 UTF-8,也可能还是有些地方乱码。

解决办法:

把项目移到全英文路径,比如:

D:\workspace\outdoor-rental-mall

方法四:命令行切换编码(备用方案)

如果你是在 Windows 的命令行运行 Maven,可以先切换编码:

  • 打开 CMD 或 PowerShell
  • 输入命令:
chcp 65001
  • 这样命令行就用 UTF-8 了,再运行 Maven,就不会乱码。

三、最佳实践

  • IDEA、Maven 全部设置为 UTF-8
  • 项目路径、文件夹名尽量避免中文
  • 运行命令时可以先 chcp 65001

这样基本上就能彻底告别乱码问题啦 🎉

四、总结

IDEA 控制台中文乱码其实就是编码问题。
小白同学只要跟着下面这几步走:

  1. 给 IDEA 加 -Dfile.encoding=UTF-8
  2. Maven 的 pom.xml 配置好 UTF-8
  3. 尽量不要用中文路径

就能解决 99% 的乱码问题。

到此这篇关于IDEA控制台中文乱码的完整解决方案(小白也能轻松解决)的文章就介绍到这了,更多相关IDEA控制台中文乱码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • spring的13个经典面试题

    spring的13个经典面试题

    Spring框架是一个开放源代码的J2EE应用程序框架,是针对bean的生命周期进行管理的轻量级容Spring解决了开发者在J2EE开发中遇到的许多常见的问题,我们这篇文章就来了解一下spring的面试题
    2021-06-06
  • 实现一个简单Dubbo完整过程详解

    实现一个简单Dubbo完整过程详解

    这篇文章主要为大家介绍了实现一个简单Dubbo完整过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • JDK20 + SpringBoot 3.1.0 + JdbcTemplate 使用案例详解

    JDK20 + SpringBoot 3.1.0 + JdbcTemplate 使用案例详解

    通过 JdbcTemplate 直接执行 SQL 语句,结合源码动态编译即可方便实现动态修改代码逻辑的效果,这篇文章主要介绍了JDK20 + SpringBoot 3.1.0 + JdbcTemplate 使用,需要的朋友可以参考下
    2023-09-09
  • 记一次公司JVM堆溢出抽丝剥茧定位的过程解析

    记一次公司JVM堆溢出抽丝剥茧定位的过程解析

    这篇文章主要介绍了记一次公司JVM堆溢出抽丝剥茧定位的过程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • JDK21中Record的用法全方位讲解(附完整示例)

    JDK21中Record的用法全方位讲解(附完整示例)

    JDK14首次引入Record类作为预览特性,并在JDK16中正式发布,而JDK21进一步强化了Record模式匹配能力,这篇文章主要介绍了JDK21中Record用法全方位讲解的相关资料,需要的朋友可以参考下
    2026-03-03
  • SpringBoot如何使用ApplicationContext获取bean对象

    SpringBoot如何使用ApplicationContext获取bean对象

    这篇文章主要介绍了SpringBoot 如何使用ApplicationContext获取bean对象,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • Java多线程下解决资源竞争的7种方法详解

    Java多线程下解决资源竞争的7种方法详解

    这篇文章主要介绍了Java多线程下解决资源竞争的7种方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Java Ribbon与openfeign区别和用法讲解

    Java Ribbon与openfeign区别和用法讲解

    Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具,主要功能是提供客户端的软件负载均衡算法和服务调用。openfeign对Feign进行了增强,使其支持Spring MVC注解,另外还整合了Ribbon和Nacos,从而使得Feign的使用更加方便
    2022-08-08
  • java实现点击按钮弹出新窗体功能

    java实现点击按钮弹出新窗体功能

    这篇文章主要为大家详细介绍了java实现点击按钮弹出新窗体功能,旧窗体不进行操作,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • 详细聊一聊Java中的包机制

    详细聊一聊Java中的包机制

    这篇文章主要介绍了Java中包机制的相关资料,Java包机制通过定义、命名和组织类,防止命名冲突,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-05-05

最新评论