Terminal乱码与汉化包无关,根源在于字符集未对齐:需同步配置Windows注册表Autorun设chcp 65001(或macOS/Linux改webstorm.sh导出LANG/LC_ALL)、JVM层vmoptions和Run Configuration均加-Dfile.encoding=UTF-8及环境变量file.encoding=UTF-8,并重启WebStorm。

汉化包和 Terminal 乱码完全无关——改 UI 文字不影响任何终端输出编码。你看到 console.log("中文") 打印出问号或方块,问题只出在字符集没对齐,不是汉化惹的祸。
Terminal 启动前就该加载 UTF-8 环境变量
WebStorm 内置 Terminal 不继承系统命令行环境变量,尤其 Windows GUI 启动时根本读不到 LANG 或 LC_ALL;macOS/Linux 下即使终端里 echo $LANG 是 zh_CN.UTF-8,IDE 内 Terminal 仍可能为空。
- Windows:编辑注册表
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor,新建字符串值Autorun(大小写敏感),值设为chcp 65001(中间是空格,不是等号) - macOS/Linux:编辑
bin/webstorm.sh,在#!/bin/sh下**紧贴第一行**插入:export LANG=zh_CN.UTF-8export LC_ALL=zh_CN.UTF-8 - 改完必须彻底退出 WebStorm(包括托盘进程),再重启——否则变量不生效
Run Configuration 和 JVM 参数必须同步设为 UTF-8
Terminal 里执行 java -XshowSettings:properties -version 2>&1 | grep file.encoding 输出的 file.encoding 值,必须和你的运行配置一致,否则 Java 进程输出照样乱码。
- 编辑
bin/webstorm64.vmoptions(Windows/macOS)或bin/webstorm.vmoptions(Linux),末尾追加一行:-Dfile.encoding=UTF-8(注意大小写,不能写utf8或UTF8) - 打开
Run > Edit Configurations,选中 Node.js / Java 配置,在VM options输入框填:-Dfile.encoding=UTF-8 - 在同一配置的
Environment variables区域,显式添加:file.encoding=UTF-8(IDEA 系列常漏这一项)
PowerShell 用户要额外改 $PROFILE
如果你在 WebStorm Terminal 里用的是 PowerShell(v1 或 v7),仅靠注册表和 JVM 参数还不够——PowerShell 默认用 GBK 编码输出,得手动覆盖。
- 在 PowerShell 中执行
notepad $PROFILE打开配置文件(若不存在则先运行New-Item -Path $PROFILE -Type File -Force) - 在文件末尾添加两行:
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8$PSDefaultParameterValues['Out-File:Encoding'] = 'utf8' - 保存后重启 Terminal(不用重启 WebStorm),再测试
Write-Output "中文"
最容易被忽略的是:三处 JVM 编码(vmoptions、Run Configuration、环境变量)缺一不可,且任意一处改完都必须彻底重启 WebStorm;注册表 Autorun 或 webstorm.sh 变更也一样——热重载不触发底层终端初始化逻辑。


















