必须同时将global encoding、project encoding和default encoding for properties files设为utf-8并勾选transparent native-to-ascii conversion,否则新建文件仍可能用gbk导致乱码;右下角点击编码后,reload用于预览,convert用于重写文件;terminal和jvm还需同步配置utf-8。

必须同时改 Global Encoding、Project Encoding 和 Properties 文件编码,否则新建文件仍可能用 GBK —— 这是 Windows 下乱码最常见原因。
Editor → File Encodings 里三个 UTF-8 必须全设对
WebStorm 的编码不是“设一次就全局生效”,而是分层 fallback:有 BOM 或 <meta charset> 就按它来;没有时看 Project Encoding;项目不存在才退到 Global Encoding。只改其中一个,等于白改。
-
Global Encoding设为UTF-8:影响所有新项目、新建文件的默认读取方式 -
Project Encoding也设为UTF-8:决定当前项目下新建文件的保存编码(也参与读取) -
Default encoding for properties files必须设为UTF-8,不是ISO-8859-1:否则.properties里的msg=你好会自动变成msg=\u4f60\u597d,且 IDE 不提示 - 务必勾选
Transparent native-to-ascii conversion:这是 .properties 文件中文不被转义的开关 - 点 OK 后建议完全退出 WebStorm 再重启——部分设置热加载不可靠
右下角状态栏点击后,Reload 和 Convert 到底选哪个
打开一个显示方块或问号的文件,右下角会显示当前识别的编码(比如 GBK 或 ISO-8859-1)。点击它弹出列表,直接敲 utf 或 gbk 快速定位。
- 选带 ⚠️ 的编码(如
GBK)时,会弹窗问你选Reload还是Convert -
Reload:仅重新按该编码解析内容,磁盘文件不变——适合安全预览,确认是否真能正确解码 -
Convert:把文件内容按新编码重写进磁盘——必须确认原始内容确实是那个编码,否则中文变问号或方块 - 一旦执行过
Convert,WebStorm 就会把这个文件和该编码绑定,下次打开不再瞎猜
Terminal / Run Configuration 输出还是乱码?JVM 和系统层也要配
编辑器里全设成 UTF-8,不代表终端输出就正常。Terminal 输出走的是系统 Shell + JVM 启动参数 + WebStorm 终端渲染三层逻辑,缺一不可。
- Windows 用户:注册表路径
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor下新增字符串值Autorun,值为chcp 65001 - macOS/Linux 用户:编辑
bin/webstorm.sh,在#!/bin/sh下第一行插入:export LANG=zh_CN.UTF-8和export LC_ALL=zh_CN.UTF-8 - 所有平台:编辑
webstorm64.vmoptions(Windows/macOS)或webstorm.vmoptions(Linux),追加一行:-Dfile.encoding=UTF-8 - Run Configuration → Environment Variables 中必须显式添加
file.encoding=UTF-8——IDEA 系列常漏这一层
最容易被忽略的是:Convert Files to UTF-8 操作必须指定正确的源编码(比如原是 GBK 就选 GBK),且不能递归进 node_modules/ 或 vendor/;还有 Terminal 的 chcp 65001 和 VM 参数缺一不可——编辑器设对了,控制台照样输出乱码。











