必须将global encoding、project encoding和default encoding for properties files均设为utf-8并勾选transparent native-to-ascii conversion,否则新建文件仍可能用gbk导致乱码;设置后需重启webstorm,已有乱码文件应通过状态栏reload/convert修正。

Global Encoding 和 Project Encoding 必须同时设为 UTF-8
只改其中一个,新建文件仍可能用系统默认编码(比如 Windows 的 GBK),这是乱码最常见根源。WebStorm 读取文件时有 fallback 顺序:先看文件自身 BOM 或 <meta charset>,没有才用 Project Encoding,项目不存在时才退到 Global Encoding。所以两个必须同步设为 UTF-8。
操作路径:Settings / Preferences → Editor → File Encodings
-
Global Encoding设为UTF-8 -
Project Encoding设为UTF-8 - 点
OK后建议完全退出 WebStorm 再重启——部分设置热加载不可靠
Default encoding for properties files 必须设为 UTF-8 并勾选 Transparent native-to-ascii conversion
.properties 文件里写 msg=你好,如果这里没设对,WebStorm 会自动转成 msg=\u4f60\u597d,且不提示;勾选 Transparent native-to-ascii conversion 才能让中文原样保留并正确读写。
-
Default encoding for properties files必须是UTF-8(不是默认的ISO-8859-1) - 务必勾选
Transparent native-to-ascii conversion - 该设置影响所有新创建或未显式声明编码的
.properties文件
已有乱码文件别硬改,用状态栏 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 - 所有平台:编辑
bin/webstorm64.vmoptions(macOS/Linux 是webstorm.vmoptions),追加一行:-Dfile.encoding=UTF-8 - Run Configuration → Environment Variables 中必须显式添加
file.encoding=UTF-8——IDEA 系列常漏这一层
最容易被忽略的是:Convert 操作必须指定正确的源编码,且不能误操作 node_modules/ 或 vendor/ 目录;Terminal 的 chcp 65001、VM 参数、运行环境变量这三项,少一个,console.log('中文') 就可能还是问号。











