intellij idea中文乱码需统一编码为utf-8:设置file encodings全局/项目/properties编码;配置jvm参数-dfile.encoding=utf-8(项目级或全局);maven中声明sourceencoding和outputencoding并设置runner vm选项;windows启用utf-8系统支持;tomcat日志配置encoding为utf-8。

IntelliJ IDEA控制台输出中文变成“???”或方块,日志路径里“src/main/java/用户管理”显示成“src/main/java/??????”,调试时根本看不出业务逻辑在哪一步出错,这种编码错位会直接卡住问题定位。
统一IDEA文件编码设置
打开 File → Settings(macOS为 IntelliJ IDEA → Preferences)→ Editor → File Encodings。
将 Global Encoding、Project Encoding、Default encoding for properties files 三项全部设为 UTF-8;勾选 “Transparent native-to-ascii conversion” 仅对 .properties 文件生效,不用动它。
【必须重启IDEA才能使此设置生效】
配置运行时JVM编码参数
方法一:针对当前项目运行配置
点击 Run → Edit Configurations… → 左侧选中你的 Application 或 Tomcat Server → 右侧 VM options 输入框中填入:
-Dfile.encoding=UTF-8
方法二:全局生效(推荐)
Help → Edit Custom VM Options… → 在打开的 idea64.exe.vmoptions 文件末尾新增一行:
-Dfile.encoding=UTF-8
保存后关闭所有窗口,强制退出IDEA进程(任务管理器杀掉所有 java.exe 和 idea64.exe),再重新启动。
适配Maven构建过程
第一步:在 pom.xml 的
第二步:File → Settings → Build, Execution, Deployment → Build Tools → Maven → Runner → VM Options 输入框填入:
-Dfile.encoding=UTF-8
第三步:右键项目 → Maven → Reload project,确保新配置被读取。
绕过Windows系统编码陷阱
Windows默认使用GBK编码,而IDEA和Java默认倾向UTF-8,二者冲突是乱码根源之一。
进入 Windows 设置 → 时间和语言 → 语言 → 管理语言 → 行政语言设置 → 更改系统区域设置 → 勾选 “Beta版:使用Unicode UTF-8提供全球语言支持” → 重启电脑。
这一步不做,即使IDEA里全设成UTF-8,cmd/powershell底层仍用GBK解码,控制台输出依然可能崩。
验证Tomcat日志编码(Web项目必做)
若你用外置Tomcat或IDEA内置Tomcat启动Web应用,还需同步日志编码。
打开 Tomcat 安装目录 → conf → logging.properties 文件。
查找并修改三处:
java.util.logging.ConsoleHandler.encoding = UTF-8
java.util.logging.FileHandler.encoding = UTF-8
.encoding = UTF-8
改完保存,重启Tomcat服务。











