webstorm中文乱码需同步配置三层utf-8编码(global、project、properties文件)、ui中文字体及terminal三处jvm参数(vmoptions、run configuration、环境变量),缺一不可。

WebStorm 代码颜色配置本身不会导致乱码——乱码只出在字体、编码、终端三处,配色方案(Color Scheme)改的只是语法高亮颜色,和中文显示无关。如果你看到编辑器里代码中的中文注释、字符串变成方块或问号,问题一定不在 Settings → Editor → Color Scheme,而是在更底层的编码或字体链上。
Editor → File Encodings 三个 UTF-8 必须全对齐
很多人以为改了 Project Encoding 就够了,其实 WebStorm 解析文件时会按三层顺序 fallback:Global → Project → 文件自身声明。只要其中一层是 GBK 或 ISO-8859-1,打开含中文的 JS/TS/HTML 文件就可能崩。
-
Global Encoding控制新建项目、新建文件的默认读取方式;漏设会导致从模板生成的文件一打开就乱 -
Project Encoding决定当前项目下新建文件的保存编码;只设它不设 Global,旧项目导入时仍可能错判 -
Default encoding for properties files是独立开关,专管.properties;不设它,msg=你好会被自动转成msg=\u4f60\u597d,且 IDE 不提示 - 三项必须同时设为
UTF-8,并勾选Transparent native-to-ascii conversion
Project 工具窗口(左侧栏)显示口口口?换 UI 字体再重启
Project 栏不读文件内容,只显示文件名和结构,所以它的“乱码”和编码设置完全无关。你看到的是系统字体栈里没有中文字体,导致 UI 渲染失败。
- 路径:
File → Settings → Appearance & Behavior → Appearance(macOS 是WebStorm → Preferences → Appearance) - 勾选
Override default fonts by (not recommended) -
Name下拉选支持中文的字体:Microsoft YaHei(Windows)、PingFang SC(macOS)、WenQuanYi Micro Hei Mono(Linux) - 点 OK 后必须彻底退出 WebStorm(包括托盘进程),再重启——热重载不刷新 UI 字体栈
Terminal / Run Configuration 输出中文仍是问号?三处 JVM 编码缺一不可
控制台乱码和配色、汉化、Editor 设置全无关系。它由 JVM 启动参数、系统 Shell 环境、IDE 运行配置共同决定,任一环节掉链子都会吐方块。
- 编辑
bin/webstorm64.vmoptions(Windows/macOS)或bin/webstorm.vmoptions(Linux),末尾加一行:-Dfile.encoding=UTF-8 - 打开
Run → Edit Configurations,选中你的 Node.js / Java 配置,在VM options里也填:-Dfile.encoding=UTF-8 - 在同一配置的
Environment variables区域,显式添加:file.encoding=UTF-8 - Windows 用户额外补注册表:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor下新增字符串值Autorun,值为chcp 65001 - 改完后执行
java -XshowSettings:properties -version 2>&1 | grep file.encoding,输出必须是UTF-8
真正容易被忽略的是:Project 栏口口口 ≠ 文件内容乱码 ≠ Terminal 问号,它们分属 UI 渲染、文件读取、进程输出三个互不干扰的通道。修错层,调十次配色方案也没用。











