VScode编码不一致问题

本文描述并解决在VSCode里遇到的控制台编码与文件编码不一致导致的乱码问题

VSCode控制台介绍

VSCode里不止只有1个控制台,如下图所示:

img

图中一共有四个控制台,可通过终端窗口右上角的+进行调整

  • PowerShell:VSCode默认采用PowerShell,功能上比cmd更为强大,兼容cmd命令的同时有自己扩展的指令集,用来管理Windows系统和应用程序,执行复杂的脚本和自动化任务。

  • Git Bash:Git Bash是Git自带的一个终端模拟器,兼容cmd命令的同时扩展了Linux命令和git命令,它可以在Windows上模拟Bash环境(Linux的控制台)。适合习惯使用Linux的用户。

  • JavaScript调试终端:可以让你在VSCode中直接运行和调试JavaScript代码,而不需要额外的配置或者浏览器。

  • Command Prompt:基于Dos的传统的cmd命令行,cmd不兼容上述控制台,只能用来执行一些基本的命令和批处理文件。

除了上述四个控制台外,还有在调试代码时跳出的针对不同语言不同的控制台,例如:用于调试C++/C代码的cppdbg;用于调试python代码的python Debug Console等等,可以在调试代码时,查看终端窗口右上角的小标题来确定你现在使用的是哪一个控制台

注意:不同的控制台使用的编码是独立不相互影响的,千万不要使用A控制台却去调整B控制台的编码

VSCode文件编码介绍

VSCode当前文件编码格式可以查看右下角

img

如图,当前文件编码是UTF-8

如果想要修改该文件编码,可以点击图中的UTF-8

img

先选择通过目标编码方式保存,再通过目标编码方式打开,这样就成功修改了当前文件的编码格式

常见的编码介绍

  • GBK:针对中文的编码(国内cmd默认的编码方式),在国家标准GB2312的基础上扩展的,向下兼容GB2312,但在国外并不常用。代码是936

  • UTF-8:UTF-8是一种针对多语言的编码,它包含了全世界所有国家需要用到的字符,基于Unicode字符集的,向下兼容ASCII,在国际上通行。代码是65001

如何查看并改变控制台编码

在控制台里输入以下命令可以查看当前控制台编码格式:

chcp

在控制台里输入以下命令可临时转化当前控制台编码格式:

chcp '编码代码'

综上,只要保证文件和控制台编码格式相同,就不会出现乱码问题

本文尚未解决的问题

本文只提供了临时更改控制台编码的方法,并没有提供更改各个控制台默认编码的方法