今天在进行代码测试时,终端输出 出现中文乱码。一般出现中文乱码问题大部分是因为编码不一致导致的,但是具体是什么原因不了解。于是上网进行搜索,关于VSCode终端乱码问题网上有很多,搜索了大半天,终于找到了能解决的方法。现将结合自身这老大半天的经验,把方法做出如下总结,比较有效的几个。
问题:
在使用VScode编辑代码时,代码页面中文正常,但终端输出 的 中文 却显示乱码。
原因:
输出窗口输出乱码的原因就是输入文件的编码格式和输出端的编码格式不一样。 (VSCode的默认编码方式为UTF-8,中国地区下cmd的编码方式GBK) 因为VSCode终端那里调用的是cmd,两者编码方式的不同的就导致了中文乱码的问题。
解决:
在windows下,打开cmd或者power shell输入 chcp
输出936表示采用GBK编码;输出65001表示采用UTF-8编码。
所以我们解决乱码的方式,就是将两者的编码方式统一就行,要么将两者都统一为UTF-8,要么就统一为GBK。
通过在终端 和 windows下cmd命令中依次输入 chcp 命令 可以看到 编码格式为 gdk
方式一:
每次需要的时候在VScode终端输入命令:chcp 65001
让VSCode终端编码转为utf-8编码格式(如图)
这种方式相当于 点击VSCode界面的右下角文件编码按钮 来改变文件保存的编码格式(如下图)。
这两种方法只适用于当前的文件,当你打开或新建其他文件时,还需要再次设置,比较麻烦。
方式二:
永久性修改 VSCode 控制台编码页为 65001(即utf-8)
在VSCode的 setting.json中设置,把下面的代码复制到其中
"terminal.integrated.profiles.windows": {
"PowerShell": {
"source": "PowerShell",
"overrideName": true,
"args": ["-NoExit", "/c", "chcp 65001"],
"icon": "terminal-powershell",
"env": {
"TEST_VAR": "value"
}
}
},
"terminal.integrated.defaultProfile.windows": "PowerShell",
再进行编译运行,发现就可以成功了!!!
此时再次在终端(powershell)输入 chcp 命令, 发现 活动代码页已变成:65001。
补充:怎么找到 setting.json并设置?
①打开 VSCode 编辑器后,点击左下角“设置”按钮。
②打开命令面板。在弹出的选择框中,选择“Command Palette”(也可以使用快捷键“Ctrl + Shift + P”打开命令面板)
③打开 settings.json 文件。在选择框的下拉列表中选择“Preferences: Open Settings (JSON)”
(如果没有的话,可以在输入框中输入“settings”,这时就可以看到了)