必须将Global Encoding和Project Encoding均设为UTF-8,否则新建文件仍可能使用系统默认编码(如Windows的GBK);需同步设置Default encoding for properties files为UTF-8、勾选Transparent native-to-ascii conversion,并重启WebStorm生效。

必须把 Global Encoding 和 Project Encoding 都设成 UTF-8,否则新建文件仍可能用系统默认编码(比如 Windows 的 GBK),这是乱码的根源。
Global 和 Project Encoding 必须同步设为 UTF-8
WebStorm 读取文件时,优先按文件自身 BOM 或 HTML/PHP 中的 <meta charset> 判断;没这些时,才 fallback 到 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,否则中文键值会转成\u4f60\u597d) - 勾选
Transparent native-to-ascii conversion(关键,尤其对.properties文件) - 点
OK后重启 WebStorm——部分设置热加载不可靠
已有文件不自动转码,得手动 Convert Files to UTF-8
改完全局和项目编码,只是告诉 WebStorm「以后新建文件用 UTF-8」,但已存在的 .js、.php、.html 文件仍是原编码(如 GBK)。编辑时会提示「encoding mismatch」,或显示方块。
- 在项目根目录右键 →
Reload project from disk(先清缓存) - 再右键 →
Convert Files to UTF-8(注意:不是Set encoding) - 弹窗中务必勾选
Convert encoding of file content - 源编码选对(比如原是
GBK就选GBK,别瞎猜) - 避开
vendor/、node_modules/等第三方目录,只处理自己写的代码目录(如src/、app/)
终端(Terminal)和运行配置(Run Configuration)也要配 UTF-8
即使编辑器里全设对了,控制台输出中文仍可能乱码——因为那是 JVM 或 Windows 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 参数缺一不可——编辑器里看着正常,终端一跑就乱码,八成卡在这两处。


















