真正起作用的只有三行配置:"files.encoding": "utf8"、"files.autoGuessEncoding": false、"files.saveWithBOM": false,必须同时生效;右下角显示GBK即说明自动猜编码已误判,需先Reopen with Encoding→UTF-8验证,再Save with Encoding→UTF-8覆写,且该配置仅影响文件读写,不解决终端或字体乱码。

VSCode 中文乱码不是文件坏了,是它用错了编码去读——真正起作用的只有三行配置,且必须同时生效:"files.encoding": "utf8"、"files.autoGuessEncoding": false、"files.saveWithBOM": false。其他操作(如装语言包、调字体)对文件内容编码问题完全无效。
右下角显示 GBK 就说明自动猜编码已误判
VSCode 默认开启 files.autoGuessEncoding,遇到无 BOM 的中文文本(比如 Windows 记事本保存的 .txt 或旧 Java .properties 文件),大概率把它错认成 GBK 或 ISO-8859-1。一旦猜错,它会缓存这个结果,下次打开直接沿用,根本不会读你设的 "files.encoding"。
- 点右下角编码标识(如显示
GBK或ISO-8859-1),选 Reopen with Encoding → UTF-8,看中文是否立刻变正常——这是最安全的验证方式 - 如果显示正常,立刻再点右下角,选 Save with Encoding → UTF-8(注意不是
UTF-8 with BOM) - 别选“以编码保存”,那只是另存为副本,原文件没变
settings.json 里必须关掉自动猜测
只改 "files.encoding": "utf8" 没用,files.autoGuessEncoding 是开关,不关它,VSCode 就永远不按你写的规则干活。
- 按
Ctrl + Shift + P输入Preferences: Open Settings (JSON)打开配置 - 加这三行(顺序无关):
{ "files.encoding": "utf8", "files.autoGuessEncoding": false, "files.saveWithBOM": false } -
utf8是 VSCode 内部标识,等价于 UTF-8 无 BOM;写UTF-8或utf8bom会出问题 - 这个配置只对新建文件和保存动作生效;已有文件仍需手动
Reopen with Encoding+Save with Encoding
老项目混 GBK 别全局硬切 UTF-8
如果你维护的是遗留 Java Web 项目,大量 .properties 文件确实是 GBK 编码,全局设 "files.encoding": "utf8" 反而会让所有文件一打开就乱码。
- 在项目根目录建
.vscode/settings.json,只给当前工作区配:{ "files.encoding": "gbk" } - 或安装插件
GBK Format Support,它能按后缀(如.properties)自动识别 GBK,比原生猜测准得多 - 不要长期让代码文件(
.py、.js、.cpp)依赖 GBK——注释和字符串混用时,很容易触发语法错误
真正容易被忽略的是:VSCode 的「编码设置」只管文件内容读写,和终端输出、Git 路径、编辑器字体完全无关。如果集成终端里 print("中文") 还是乱码,那是终端自己的编码问题,得单独处理 chcp 65001 或终端字体配置。


















