第一反应是点击右下角编码名选“reopen with encoding”重新读取,而非保存;它仅更换解码字典、不改磁盘内容,安全验证真实编码,优先试gbk,若全乱则可能文件已被错误保存损坏。

右下角编码按钮点开就选“Reopen with Encoding”
看到满屏“文件”或“锟斤拷”,第一反应不是关掉重开,而是盯住窗口右下角——那里有个UTF-8(或别的编码名)的小标签。点击它,弹出菜单里第一个大类就是Reopen with Encoding,别点错成Save with Encoding。选这个,VSCode会丢弃当前内存里的乱码字符串,重新用你指定的编码去读磁盘字节流。这步不改文件内容,纯属“换本字典再查一次”,安全。
GBK/GB2312/GBK with BOM 这几个选项到底怎么选
Windows 下老项目、配置文件、C/C++ 源码里夹中文注释,大概率是 GBK;如果用记事本另存过、或者某些国产工具导出,可能带 BOM,得选 GBK with BOM;GB2312 是更老的子集,兼容性略差,除非明确知道原始文件是它,否则优先试 GBK。注意:VSCode 里显示的 Simplified Chinese (GB2312) 实际对应的是 GBK 编码逻辑,不用纠结名字差异。
点了“Reopen with Encoding”还是乱码?先检查有没有被二次破坏
常见错误链路:GBK 文件 → VSCode 用 UTF-8 打开显示乱码 → 你手快按了 Ctrl+S → VSCode 把乱码字符按 UTF-8 编码写回磁盘 → 原始中文彻底丢失。此时再选 Reopen with Encoding 已无意义,因为磁盘上存的已是错误字节。验证方法:用 Notepad++ 或 Sublime Text 打开同一文件,看是否也乱;如果都乱,说明文件已损坏,只能从备份或 Git 历史里恢复。
命令面板也能做,但不如状态栏直接
按 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS),输入 Change File Encoding,选中后会列出编码列表。它和状态栏操作等价,但多两步输入,容易手误输错命令名。更隐蔽的风险是:有人搜 reopen 却打出 reopne,结果选中了别的命令,白忙活。日常处理单个乱码文件,状态栏点击是最稳的路径。











