必须将Global Encoding、Project Encoding和Default encoding for properties files均设为UTF-8,并勾选Transparent native-to-ascii conversion,再重启WebStorm,否则新建文件仍可能使用GBK等系统默认编码导致乱码。

WebStorm新建文件编码不会自动变成UTF-8,除非你把Global Encoding和Project Encoding同时设为UTF-8——只改其中一个,新建的.js、.html、.css文件仍可能用GBK(Windows)或ISO-8859-1(macOS/Linux)。
Global Encoding 和 Project Encoding 必须一起改
WebStorm 新建文件时,先看 Project Encoding;项目不存在或新建项目时, fallback 到 Global Encoding。两者不一致,等于埋雷。
-
Global Encoding:控制所有新项目、新建空文件(如右键 → New → File)的默认读取/保存编码 -
Project Encoding:决定当前项目下新建文件的保存编码,也参与已有文件的读取 fallback - 路径:
Settings / Preferences → Editor → File Encodings - 必须两个都选
UTF-8,不能一个UTF-8、一个GBK,也不能只设Project Encoding
Default encoding for properties files 不是可选项
如果你有 .properties 文件(比如 Spring Boot 的 application.properties),漏掉这项会导致中文键值被自动转成 \u4f60\u597d,且 IDE 不提示。
- 该项默认是
ISO-8859-1,必须手动改成UTF-8 - 同时勾选
Transparent native-to-ascii conversion,否则中文会强制转义,且无法编辑原始文字 - 这个设置独立于 Global/Project Encoding,专用于 .properties 解析逻辑
改完不重启,新建文件大概率还是乱码
WebStorm 有些编码设置(尤其是 Global Encoding)热加载不可靠,点 OK 后直接新建文件测试,常发现仍是 GBK。
- 必须完全退出 WebStorm(macOS/Linux 关掉所有窗口 + 进程;Windows 任务栏右键退出),再重新启动
- 重启后,新建一个
test.js,写console.log("你好"),保存,再用其他编辑器(如 VS Code)打开确认文件头无 BOM、内容可正常读取 - 如果右下角状态栏显示不是
UTF-8,说明设置未生效,回去再检查三处是否全对
已有文件不会自动转码,别指望“设完就全好”
Global/Project Encoding 只影响「新建」行为。已存在的文件(尤其是从老项目导入、Git clone 下来的)仍保持原编码,打开时可能显示方块或问号。
- 打开乱码文件,看右下角状态栏显示的当前识别编码(如
GBK或ISO-8859-1) - 点击它 → 搜索
utf→ 选UTF-8→ 弹窗选Convert(不是Reload) -
Convert前务必确认:该文件原始内容确实是那个源编码(比如原存为 GBK,就不能选 ISO-8859-1 再 Convert) - 避开
node_modules/、vendor/等第三方目录,只处理自己写的源码(如src/、app/)
最容易被忽略的是:Global 和 Project 编码不同步、.properties 编码没单独设、改完不重启、以及把 Convert 当 Reload 用——这四点任一出错,新建文件编码就不可信。


















