必须将global encoding和project encoding均设为utf-8,否则新建文件仍可能使用系统默认编码(如windows的gbk);还需同步设置default encoding for properties files为utf-8、勾选transparent native-to-ascii conversion,并重启webstorm生效。

WebStorm 项目编码必须同时改 Global Encoding 和 Project Encoding 为 UTF-8,否则新建文件仍可能用系统默认编码(比如 Windows 的 GBK),乱码问题根本不会消失。
Global 和 Project Encoding 必须同步设为 UTF-8
WebStorm 读文件时有 fallback 顺序:先看文件自身 BOM 或 <meta charset>,没有就查 Project Encoding,再没有才用 Global Encoding。只改其中一个,等于白改。
- 打开
Settings / Preferences → Editor → File Encodings - 把
Global Encoding设为UTF-8 - 把
Project Encoding也设为UTF-8 - 确认
Default encoding for properties files是UTF-8(不是ISO-8859-1,否则.properties中文会被转成\u4f60\u597d) - 勾选
Transparent native-to-ascii conversion(对.properties文件关键) - 点
OK后必须重启 WebStorm —— 部分设置热加载不可靠
已有文件怎么转成 UTF-8
改完全局和项目编码,只是影响「以后新建的文件」;已存在的 .js、.html 等文件仍是原编码(如 GBK),打开时会显示方块或提示 encoding mismatch。
- 在项目视图中,右键目标目录(比如
src/),选择Convert Files to UTF-8 - 弹窗里务必勾选
Convert encoding of file content - 源编码要选对(例如原是 GBK 就选
GBK,不能瞎猜) - 避开
node_modules/、vendor/等第三方目录,只处理自己写的代码 - 操作前建议先
File → Invalidate Caches and Restart… → Invalidate and Restart
终端和运行配置也要配 UTF-8
编辑器里全设对了,但 Terminal 输出中文还是问号?那是 JVM 或 CMD 自己的编码逻辑在起作用,和编辑器无关。
- 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 Files to UTF-8 时源编码选错,或者 Terminal 的 chcp 65001 和 VM 参数没配齐——编辑器显示正常,控制台一输出中文就变乱码,问题就卡在这儿。











