Reload仅重新解析内容不改磁盘文件,适合安全预览;Convert则按新编码重写磁盘内容,需确认原始编码准确,否则中文损坏。

右下角状态栏点击编码名称后选 Reload 还是 Convert?
打开乱码文件时,WebStorm 右下角状态栏会显示它当前“猜”的编码(比如 GBK、ISO-8859-1),点击它就能调出编码列表。这时别急着选,先注意两点:
- 列表里带 ⚠️ 标记的编码(如
GBK)表示 WebStorm 检测到内容与当前项目/全局设置不一致,它在提醒你“可能读错了” - 选中这类编码后,IDE 会弹窗问你:要 Reload 还是 Convert
Reload 是安全预览操作:仅让编辑器用新编码重新解析磁盘上原封不动的内容,不改文件本身。适合确认“如果用 UTF-8 打开,这段中文是不是就正常了?”
Convert 是永久写入操作:把当前编辑器里看到的内容,按你选的新编码(如 UTF-8)真正重写进磁盘。选它前必须确认——原始文件确实是那个旧编码(比如你确定它是 GBK 存的),否则中文会变 ??? 或方块。
怎么快速定位并选对编码?
状态栏弹出的编码列表很长,手动滚动容易选错。实际操作中建议:
- 直接在弹窗里敲
utf,列表会自动高亮所有含 “utf” 的项(如UTF-8、UTF-16) - 如果怀疑是 GBK,敲
gbk或gb,快速聚焦到GBK、GB2312等选项 - 优先试
UTF-8和GBK,90% 的中文乱码就在这两者间切换 - 选完确认后,WebStorm 会把这个文件和该编码绑定,下次打开不再重新猜
为什么点了 Convert 还是乱码?
常见原因不是操作错了,而是前提条件没满足:
- 你选的“目标编码”是对的,但填错了“源编码”——
Convert功能隐含一个假设:当前编辑器里显示的内容,是按某个旧编码解出来的。如果这个旧编码你没选对(比如文件其实是GBK存的,你却按ISO-8859-1去转),结果必然损坏 - 文件开头有 BOM 或 HTML 里的
<meta charset="gbk">,WebStorm 会强制按这个声明解析,覆盖你手动选的编码。得先删掉 meta 标签或 BOM,再操作 - 文件被其他进程(如 Git、构建工具)锁住,Convert 写入失败但 IDE 没明显提示,表面看“成功”了,其实磁盘文件没变
改完单个文件,为什么新建文件还是乱码?
单个文件的 Convert 只影响这个文件,和新建文件无关。新建文件用的是 Project Encoding 设置。如果你发现新建的 .js 或 .html 文件一保存就乱码,说明:
-
Project Encoding没设成UTF-8(Settings → Editor → File Encodings → Project Encoding) - 或者
Global Encoding是GBK,而项目没显式覆盖它 - 更隐蔽的情况:
Default encoding for properties files还是ISO-8859-1,导致新建的.properties文件一输中文就自动转成\u4f60\u597d
这些设置改完必须点 OK 并重启 WebStorm,热加载经常不生效。


















