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控制台中文乱码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot Shiro权限管理方式

    SpringBoot Shiro权限管理方式

    这篇文章主要介绍了SpringBoot Shiro权限管理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-03-03
  • java中字符串与日期的转换实例

    java中字符串与日期的转换实例

    java中字符串与日期的转换实例,需要的朋友可以参考一下
    2013-05-05
  • Java中Date,Calendar,Timestamp的区别以及相互转换与使用

    Java中Date,Calendar,Timestamp的区别以及相互转换与使用

    以下是对Java中Date,Calendar,Timestamp的区别以及相互转换与使用进行了详细的介绍,需要的朋友可以过来参考下
    2013-09-09
  • 新手初学Java流程控制

    新手初学Java流程控制

    这篇文章主要介绍了JAVA流程控制语句的的相关资料,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下,希望可以帮到你
    2021-07-07
  • Java中异或的深入讲解

    Java中异或的深入讲解

    这篇文章主要给大家介绍了关于Java中异或的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Java具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-08-08
  • java字符串格式化(String类format方法)

    java字符串格式化(String类format方法)

    这篇文章主要介绍了java字符串格式化(String类format方法),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • Socket与ServerSocket类构造方法与API

    Socket与ServerSocket类构造方法与API

    今天小编为大家整理了Socket与ServerSocket类构造方法与API,对大家的学习或工作具有一定的参考借鉴价值。需要的朋友可以收藏下,方便下次浏览观看
    2021-12-12
  • Java线程中的interrupt详解

    Java线程中的interrupt详解

    这篇文章主要介绍了Java线程中的interrupt详解,interrupt翻译成中文为“打断”的意思,但实际上,interrupt()方法并非将一个线程打中断的意思,本文提供了部分实现代码,需要的朋友可以参考下
    2023-09-09
  • maven继承父工程统一版本号的实现

    maven继承父工程统一版本号的实现

    这篇文章主要介绍了maven继承父工程统一版本号的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Java、JavaScript、Oracle、MySQL中实现的MD5加密算法分享

    Java、JavaScript、Oracle、MySQL中实现的MD5加密算法分享

    这篇文章主要介绍了Java、JavaScript、Oracle、MySQL中实现的MD5加密算法分享,需要的朋友可以参考下
    2014-09-09

最新评论