0

0

VSCode中文乱码问题_文件或终端显示乱码修复

夢幻星辰

夢幻星辰

发布时间:2026-01-13 20:12:02

|

408人浏览过

|

来源于php中文网

原创

VSCode中文乱码主因是文件编码识别错误,需通过右下角“Reopen with Encoding”选择正确编码(如GBK)修复;终端乱码则需调整Shell编码及字体设置。

vscode中文乱码问题_文件或终端显示乱码修复

VSCode 打开文件显示中文乱码

根本原因是文件编码未被正确识别,VSCode 默认按 UTF-8 解码,但若文件实际是 GBK、GB2312 或 GB18030 编码(常见于 Windows 旧项目、某些爬虫导出 CSV、国产软件生成的文本),就会显示为 或方块符号。

修复方式不是“改设置”,而是让 VSCode 正确读取当前文件的真实编码:

  • 右下角状态栏点击当前编码标识(如 UTF-8
  • 选择 Reopen with Encoding → 再选 GBK(或 GB18030GB2312 兼容性较差,不推荐)
  • 确认后内容立即恢复正常;若仍乱码,可尝试切换其他中文编码反复测试
  • 若需永久保存为 UTF-8,再点右下角编码 → Save with EncodingUTF-8

注意:Reopen with Encoding 不改变文件本身,只影响本次打开;Save with Encoding 才会真正转码并覆写文件。

VSCode 终端(Integrated Terminal)中文显示为问号或方块

这是终端 shell 自身的编码问题,和编辑器无关。Windows 上默认 PowerShell 或 CMD 使用的是系统本地代码页(如 CP936),而 VSCode 终端默认启用 Unicode 支持,但字体或 locale 配置不匹配时就会乱码。

分场景处理:

  • PowerShell:在终端中运行 $PSDefaultParameterValues['Out-File:Encoding'] = 'utf8' 仅影响输出重定向;更彻底的是修改 PowerShell 配置文件,添加 [Console]::OutputEncoding = [System.Text.Encoding]::UTF8
  • CMD:运行 chcp 65001 切换为 UTF-8 代码页(需 Windows 10 1903+,且终端字体必须支持中文,如 ConsolasJetBrains Mono
  • WSL / Linux 子系统:检查 locale 输出,确保 LANGzh_CN.UTF-8;若无,临时执行 export LANG=zh_CN.UTF-8,或写入 ~/.bashrc
  • 终端字体设置:VSCode 设置里搜 terminal integrated font family,设为支持中文的等宽字体,例如 "Fira Code", "Microsoft YaHei", "Monaco"

VSCode 自动识别编码失败,每次打开都要手动切

VSCode 本身不支持全局强制指定某类文件用 GBK 打开,但可通过工作区配置 + 文件关联做有限干预:

AI Content Detector
AI Content Detector

Writer推出的AI内容检测工具

下载
  • 在项目根目录创建 .vscode/settings.json,加入:
{
  "files.encoding": "gbk",
  "files.autoGuessEncoding": false
}

files.encoding 是 fallback 编码,仅当 VSCode 完全无法猜测时才使用;files.autoGuessEncoding: false 可避免它瞎猜(有时反而把 GBK 误判成 UTF-8)。

  • 对特定后缀统一指定编码(如所有 .txt 按 GBK 打开):在用户设置或工作区设置中加
{
  "[plaintext]": {
    "files.encoding": "gbk"
  }
}

注意:[plaintext] 是语言标识符,不是文件扩展名;查语言 ID 可在文件打开时按 Ctrl+Shift+P → 输入 Change Language Mode 查看当前模式名。

Git 提交日志或 diff 中中文显示为八进制转义(\344\273\245\347\261\273)

这不是 VSCode 的锅,而是 Git 本身在非 UTF-8 环境下对路径/提交信息做了转义保护。常见于 Windows Git Bash 或旧版 Git 配置。

  • 检查 Git 配置:git config --get i18n.commitencodinggit config --get i18n.logoutputencoding,应均为 utf-8
  • 若为空或为 gb2312,执行:
git config --global i18n.commitencoding utf-8
git config --global i18n.logoutputencoding utf-8
  • Windows 用户还建议启用 Git 的 UTF-8 支持:git config --global core.precomposeUnicode true(适用于 macOS 文件名兼容)
  • VSCode 内置 Git 功能依赖这些配置,改完需重启 VSCode 窗口

真正麻烦的是历史提交——已转义的 commit message 无法自动还原,只能靠人工核对原始日志或用 git log --encoding=utf-8 临时查看。

相关专题

更多
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

mysql标识符无效错误怎么解决
mysql标识符无效错误怎么解决

mysql标识符无效错误的解决办法:1、检查标识符是否被其他表或数据库使用;2、检查标识符是否包含特殊字符;3、使用引号包裹标识符;4、使用反引号包裹标识符;5、检查MySQL的配置文件等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

180

2023.12.04

Python标识符有哪些
Python标识符有哪些

Python标识符有变量标识符、函数标识符、类标识符、模块标识符、下划线开头的标识符、双下划线开头、双下划线结尾的标识符、整型标识符、浮点型标识符等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

277

2024.02.23

java标识符合集
java标识符合集

本专题整合了java标识符相关内容,想了解更多详细内容,请阅读下面的文章。

252

2025.06.11

c++标识符介绍
c++标识符介绍

本专题整合了c++标识符相关内容,阅读专题下面的文章了解更多详细内容。

121

2025.08.07

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号