0

0

VSCode显示乱码或字体异常怎么解决_编辑器编码设置调整

幻影之瞳

幻影之瞳

发布时间:2026-01-13 18:45:09

|

968人浏览过

|

来源于php中文网

原创

VSCode 文件乱码根本原因是编码不匹配,应先右下角切换编码(如GBK)恢复显示,再保存为UTF-8;关闭autoGuessEncoding、统一终端代码页为65001是关键。

vscode显示乱码或字体异常怎么解决_编辑器编码设置调整

VSCode 打开文件显示乱码(中文变问号、方块、符号)

根本原因是文件编码与 VSCode 当前识别/解码方式不匹配,尤其常见于 Windows 上用记事本保存的 GBK 文件,在 VSCode 默认以 UTF-8 解码时必然乱码。

  • 先看右下角状态栏:点击显示的编码名称(如 UTF-8GBKISO 8859-1),会弹出「Reopen with Encoding」和「Save with Encoding」两个选项
  • 若已乱码,选「Reopen with Encoding」→ 尝试 GBK(简体中文 Windows 默认)、GB2312Shift-JIS(日文)、EUC-KR(韩文)
  • 确认内容正常后,再点右下角编码 → 「Save with Encoding」→ 选 UTF-8 保存,一劳永逸
  • 避免反复切换:在 settings.json 中设置默认解码策略,例如强制对某些后缀用 GBK:
    {
      "files.encoding": "utf8",
      "files.autoGuessEncoding": false,
      "files.encodingHint": "utf8"
    }

    注意:"files.autoGuessEncoding": false 很关键——VSCode 的自动猜测常失败,关掉反而更稳。

    VSCode 字体发虚、等宽不齐、中文渲染模糊

    不是字体本身问题,而是 VSCode 渲染引擎(Electron)与系统字体子像素抗锯齿、DPI 缩放、字体回退链之间的冲突。重点调三项:

    • "editor.fontFamily" 必须显式指定中英文兼容字体,例如:"Fira Code, Microsoft YaHei, sans-serif" —— 英文用等宽编程字体,中文 fallback 到微软雅黑
    • "editor.fontLigatures" 设为 true 仅当使用支持连字的字体(如 Fira Code、Cascadia Code),否则可能引发中文字符错位
    • Windows 用户务必检查系统级设置:「设置 → 显示 → 自定义缩放」是否为非 100% 值(如 125%)。若开启,需在 VSCode 启动时加参数:code --force-device-scale-factor=1,或在 settings.json 加:
      "window.zoomLevel": 0

      (注意:zoomLevel 是相对缩放,不是系统 DPI)

      新建文件默认编码不是 UTF-8,每次都要手动切

      VSCode 默认确实是 UTF-8,但如果你装过中文插件(如「Chinese (Simplified) Language Pack」)或修改过区域设置,可能被覆盖。真正决定新建文件编码的是 files.defaultLanguage 和全局 files.encoding 的组合行为。

      • 打开命令面板(Ctrl+Shift+P),运行「Preferences: Open Settings (JSON)」
      • 确保有且仅有这一行生效:
        "files.encoding": "utf8"

        不要写成 "utf-8""UTF8" —— VSCode 只认小写 utf8 这个关键字

        松果AI写作
        松果AI写作

        专业全能的高效AI写作工具

        下载
      • 如果项目里存在 .vscode/settings.json,它会覆盖用户级设置,记得检查该文件是否误写了 "files.encoding": "gbk"
      • 极少数情况:Git 提交时因 .gitattributes 强制设置了 * text=auto,导致检出文件被 Git 转码。此时需在终端执行:git config --global core.autocrlf true(Windows)或 falsemacOS/Linux),并重置工作区

      终端(Integrated Terminal)中文显示为方块或乱码

      这是独立于编辑器的另一套编码逻辑,由 shell + 字体 + VSCode 终端仿真器共同决定。Windows 用户最常卡在这里。

      • 先确认终端当前代码页:在集成终端中运行 chcp,Windows 默认是 936(GBK)。而 VSCode 终端默认以 UTF-8 启动,二者不匹配
      • 解决方法一(推荐):让 PowerShell/CMD 启动即切 UTF-8。在 VSCode 设置中搜 terminal.integrated.profiles.windows,修改对应 shell 配置:
        {
          "terminal.integrated.profiles.windows": {
            "PowerShell": {
              "source": "PowerShell",
              "icon": "terminal-powershell",
              "args": ["-NoExit", "-Command", "chcp 65001"]
            }
          }
        }

        其中 65001 是 UTF-8 的 Windows 代码页编号

      • 解决方法二:改 VSCode 终端编码(不推荐)。在设置中搜 terminal.integrated.defaultProfile.windows,设为 Command Prompt,再配合 terminal.integrated.env.windows 注入 CHCP 65001
      • 字体必须支持中文:在 settings.json 中为终端单独指定字体,例如:
        "terminal.integrated.fontFamily": "Cascadia Code, Microsoft YaHei"

        别只写 Microsoft YaHei —— 它不是等宽字体,会导致光标错位

      字体渲染和编码看似是小问题,但牵扯到编辑器启动参数、系统区域策略、Git 行为、终端仿真层四层叠加。最容易被忽略的是:关闭 files.autoGuessEncoding 和统一终端代码页这两步,比换字体管用十倍

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

411

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

532

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

309

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

74

2025.09.10

自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

638

2023.07.05

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

526

2023.07.06

git撤销提交的commit
git撤销提交的commit

Git是一个强大的版本控制系统,它提供了很多功能帮助开发人员有效地管理和控制代码的变更,本专题为大家提供git 撤销提交的commit相关的各种文章内容,供大家免费下载体验。

264

2023.07.24

git提交错误怎么撤回
git提交错误怎么撤回

git提交错误撤回的方法:git reset head^:撤回最后一次提交,恢复到提交前状态。git revert head:创建新提交,内容与之前提交相反。git reset :使用提交的 sha-1 哈希撤回指定提交。交互式舞台区:标记要撤回的特定更改,然后提交,排除已撤回更改。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

544

2024.04.09

php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

3

2026.01.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.1万人学习

Git 教程
Git 教程

共21课时 | 2.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号