IntelliJ运行输出窗口无法切换为UTF-8编码求助
IntelliJ IDEA运行输出窗口UTF-8编码异常问题排查
问题现象
- 运行Android项目时,Logcat可正常显示特殊字符
- IDE终端功能正常,可输入并正确显示特殊字符
- 运行Kotlin多平台的JVM Windows项目时,运行输出窗口无法正常显示特殊字符
测试代码(UTF-8编码源码)
println("Test1: ö <=> \u00F6") println(String("Test1: ö <=> \u00F6".encodeToByteArray(), Charsets.ISO_8859_1))
已知环境信息
- 所有源码文件均为UTF-8编码
- IDE未使用自定义字体,当前字体支持目标特殊字符
- 使用IntelliJ IDEA 2025.2.4稳定版 + JetBrains Runtime 21.0.8
- 运行环境:Windows 11
已尝试的解决步骤
- 通过
Help => Edit Custom VM options添加UTF-8编码配置(含语言/地区变体,曾解决2024年同类问题) - 在
gradle.properties中添加编码相关配置 - 修改IntelliJ IDEA中所有编码相关全局/项目设置
待尝试的解决思路
为JVM运行配置单独添加编码参数
打开Run/Debug Configurations,找到对应的Kotlin JVM运行配置,在VM options中添加:-Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8全局VM options可能未覆盖到具体项目的运行配置,单独设置更精准。
在Gradle脚本中强制任务编码
在项目根目录的build.gradle.kts中添加以下配置:// 配置Java执行任务编码 tasks.withType<JavaExec> { systemProperty("file.encoding", "UTF-8") } // 配置Kotlin编译及执行编码 tasks.withType<KotlinJvmCompile> { kotlinOptions.encoding = "UTF-8" } tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinJvmRun> { systemProperty("file.encoding", "UTF-8") }通过系统命令行启动IDE并预设UTF-8代码页
- 打开Windows命令提示符,执行
chcp 65001切换到UTF-8代码页 - 从该命令行中启动IntelliJ IDEA(找到IDE安装目录下的
idea.exe或idea64.exe执行)
这种方式可以让IDE继承系统控制台的UTF-8编码配置,可能修复运行输出窗口的编码问题。
- 打开Windows命令提示符,执行
更换JetBrains Runtime版本
尝试降级到JetBrains Runtime 21.0.7或升级到最新EAP版本,部分版本可能存在Windows下的编码适配bug,更换版本可排查是否为此类问题。检查运行配置的环境变量
在Run/Debug Configurations的Environment variables中,检查是否存在LC_ALL、LANG等编码相关变量,若有则删除或设置为en_US.UTF-8,避免干扰JVM的编码设置。
内容的提问来源于stack exchange,提问作者prom85
相关产品推荐
相关产品推荐

