必须将Global Encoding、Project Encoding和Default encoding for properties files均设为UTF-8,并勾选Transparent native-to-ascii conversion,否则新建文件仍可能用GBK;已有文件需手动Convert而非Set encoding;Terminal乱码须同步配置注册表、VM参数及环境变量。

Global Encoding 和 Project Encoding 必须同时设为 UTF-8
只改 Project Encoding 是最常见错误。WebStorm 读取文件时有三层 fallback:先看文件自身 BOM 或 <meta charset>,没有才用 Project Encoding,项目不存在时才退到 Global Encoding。漏掉任意一层,新建文件仍可能沿用 Windows 默认的 GBK。
操作路径:File → Settings (Windows/Linux) / WebStorm → Preferences (macOS) → Editor → File Encodings
-
Global Encoding设为UTF-8 -
Project Encoding设为UTF-8 - 点
OK后必须完全退出并重启 WebStorm——部分设置热加载不可靠
Default encoding for properties files 必须设为 UTF-8
这个选项专管 .properties 文件,不设它会导致 msg=你好 自动转成 msg=\u4f60\u597d,且 IDE 不提示、不警告。
- 在同一页(
Editor → File Encodings)中,找到Default encoding for properties files - 下拉选
UTF-8(不是默认的ISO-8859-1) - 务必勾选
Transparent native-to-ascii conversion——这是开关,不勾选等于白设
已有乱码文件不能靠“设编码”修复,得用 Convert
改完全局设置后,已存在的 .js、.html、.php 文件仍是原编码(比如 GBK),编辑器右下角会显示识别出的编码(如 GBK 或 ISO-8859-1),点击它才会弹出操作菜单。
- 选带 ⚠️ 标记的源编码(如
GBK),弹窗让你选Reload还是Convert -
Reload:只重新解析内容,不改磁盘文件——适合预览确认是否真能解对 -
Convert:把内容按新编码重写进磁盘——必须确认原始内容确实是那个编码,否则中文变问号 - 操作前避开
node_modules/、vendor/等第三方目录,只处理src/、app/等自己写的代码
Terminal 和 Run Configuration 的 UTF-8 配置常被忽略
编辑器里全设对了,但 console.log("你好") 在 Terminal 里还是乱码,这不是 WebStorm 编码设置的问题,而是 JVM 或系统终端自己的编码逻辑在起作用。
- Windows 用户:注册表
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor下新增字符串值Autorun,值为chcp 65001 - 编辑
bin/webstorm64.vmoptions(macOS/Linux 是webstorm.vmoptions),追加一行:-Dfile.encoding=UTF-8 - 检查
Run Configuration → Environment Variables是否含file.encoding=UTF-8——IDEA 系列常漏这一层
三处缺一不可。最容易被忽略的是:Convert 操作必须指定正确的源编码,且 Terminal 的 chcp 65001 和 VM 参数必须同步配齐。


















