You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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中所有编码相关全局/项目设置

待尝试的解决思路

  1. 为JVM运行配置单独添加编码参数
    打开Run/Debug Configurations,找到对应的Kotlin JVM运行配置,在VM options中添加:

    -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8
    

    全局VM options可能未覆盖到具体项目的运行配置,单独设置更精准。

  2. 在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")
    }
    
  3. 通过系统命令行启动IDE并预设UTF-8代码页

    1. 打开Windows命令提示符,执行chcp 65001切换到UTF-8代码页
    2. 从该命令行中启动IntelliJ IDEA(找到IDE安装目录下的idea.exe或idea64.exe执行)
      这种方式可以让IDE继承系统控制台的UTF-8编码配置,可能修复运行输出窗口的编码问题。
  4. 更换JetBrains Runtime版本
    尝试降级到JetBrains Runtime 21.0.7或升级到最新EAP版本,部分版本可能存在Windows下的编码适配bug,更换版本可排查是否为此类问题。

  5. 检查运行配置的环境变量
    在Run/Debug Configurations的Environment variables中,检查是否存在LC_ALL、LANG等编码相关变量,若有则删除或设置为en_US.UTF-8,避免干扰JVM的编码设置。

内容的提问来源于stack exchange,提问作者prom85

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 03:57:34