VSCode解决中文乱码方法

目录

一、底层原因

二、解决方法原理

三、解决方式:

1.预设更改cmd临时编码法

2.安装插件法:


一、底层原因

当在VSCode中遇到中文显示乱码的问题时,这通常是由于文件编码与VSCode的默认或设置编码不匹配,或者系统语言设置影响了编码识别和字体渲染。

UTF-8和GBK是两种不同的字符编码方式,它们用不同的字节序列来表示同一个字符。例如,中文字符"你"在UTF-8编码中是用三个字节表示的,分别是E4 BD A0,而在GBK编码中是用两个字节表示的,分别是C4 E3。如果一个文件是用UTF-8编码保存的,但是用GBK编码来读取,那么就会出现乱码,因为GBK编码无法正确识别UTF-8编码的字节序列。反之亦然。

vscode的终端是调用系统的cmd命令行工具,而cmd的默认编码方式是GBK。如果我们在vscode中用UTF-8编码写代码,并且在代码中包含中文字符,那么当我们在终端运行代码时,就会出现中文乱码的问题。为了解决这个问题,我们需要将vscode和cmd的编码方式统一为同一种,要么都是UTF-8,要么都是GBK。

二、解决方法原理

解决方法有很多,比如1. 勾选"自动猜测"编码;2. 安装插件;3. 修改VSCode默认编码;4. 修改Terminal的字符编码格式等方法。方法很多,我单推荐两种方法,其他方法大家有兴趣的可以自己去试一下。我推荐的这两种方法底层逻辑都是一样的。

既可以都统一为UTF-8,也可以统一为GBK。这里我们采用统一为UTF-8。因为这样可以不改变vscode的默认设置,只需要在预设里面把cmd窗口的编码方式临时改为UTF-8即可,这样就不用更改文件的格式了(否则所有utf8文件都要手动转GBK很麻烦)。

三、解决方式:

1.预设更改cmd临时编码法

(1)进入setting.json文件

打开 文件->首选项->设置,进入设置面板

在输入框中输入settings ,找到进入settings.json的地方

(2)输入代码

javascript 复制代码
"terminal.integrated.profiles.windows": {
    "PowerShell": {
        "source": "PowerShell",
        "icon": "terminal-powershell",
        "args": [
            "-NoLogo",
            "-NoExit",
            "-Command",
            "chcp.com 65001"
        ]
    },
    "Command Prompt": {
        "path": [
            "${env:windir}\\Sysnative\\cmd.exe",
            "${env:windir}\\System32\\cmd.exe"
        ],
        "args": [
            "/K",
            "chcp 65001"
        ],
        "icon": "terminal-cmd"
    }
}

每个语句间用逗号分隔,so(注意不要忘了前后的逗号)

(3)重启vscode,问题解决

2.安装插件法:

(1)打开扩展商店:

(2)点击左侧菜单栏的扩展图标(或使用快捷键Ctrl+Shift+X)。

(3)搜索并安装插件:

在搜索框中输入"gbktoutf8"或"GBK to UTF8 for VSCode"。

选择其中一个插件并点击安装。

(4)重启软件:安装完成后,重新打开出现乱码的代码文件,查看中文注释是否正常显示。

相关推荐
_Kayo_3 分钟前
node.js 学习笔记3 HTTP
笔记·学习
星星火柴9364 小时前
关于“双指针法“的总结
数据结构·c++·笔记·学习·算法
Cx330❀6 小时前
【数据结构初阶】--排序(五):计数排序,排序算法复杂度对比和稳定性分析
c语言·数据结构·经验分享·笔记·算法·排序算法
骑着毛驴数星星6 小时前
CANDB++中的CAN_DBC快速编辑方法,使用文本编辑器(如notepad++和VScode)
vscode·can
小幽余生不加糖7 小时前
电路方案分析(二十二)适用于音频应用的25-50W反激电源方案
人工智能·笔记·学习·音视频
..过云雨7 小时前
01.【数据结构-C语言】数据结构概念&算法效率(时间复杂度和空间复杂度)
c语言·数据结构·笔记·学习
岑梓铭8 小时前
考研408《计算机组成原理》复习笔记,第五章(3)——CPU的【数据通路】
笔记·考研·408·计算机组成原理·计组
Blossom.11814 小时前
把 AI 推理塞进「 8 位 MCU 」——0.5 KB RAM 跑通关键词唤醒的魔幻之旅
人工智能·笔记·单片机·嵌入式硬件·深度学习·机器学习·搜索引擎
界面开发小八哥15 小时前
「Java EE开发指南」如何使用MyEclipse中的Web Fragment项目?
java·ide·java-ee·eclipse·myeclipse
草莓熊Lotso15 小时前
《吃透 C++ 类和对象(中):const 成员函数与取地址运算符重载解析》
c语言·开发语言·c++·笔记·其他