vscoode解决中文乱码的问题
中文乱码出现的原因
vscode上出现乱码本质上是因为utf-8 和GBk 两种不同方式编码的读取的问题,VSCode 与 cmd 两者之间的编码方式不一样:VSCode 默认是 utf-8 编码,而在中国地区下的 Windows 的 cmd 默认是 GBK 编码。
UTF-8 是一种国际化的编码方式,包含了世界上大部分的语种文字(简体中文字、繁体中文字、英文、日文、韩文等语言),也兼容ASCII 码。 GBK 是在国家标准GB2312 基础上扩容后兼容GB2312 的标准(好像还不是国家标准),专门用来解决中文编码的,是双字节的,不论中英文都是双字节的。
解决编码问题的方法
既然乱码问题是因为文本在不同编码环境下的冲突,那么我们让文件编码一致就行了,那么我们可以修改成utf-8,也可以使用gbk或者gb2312。那么如何更改呢?我们继续往下看。注意 下面的每种方法都是一种独立思路,不要没有完全理解的情况下混合使用。
在vscode编码为utf-8的情况下,更改window默认编码为utf——8
-
打开设置,点击时间和语言栏的语言和区域
-
点击管理语言设置
-
点击更改区域系统
-
点击beta版,点击确定然后重启
需要注意的是,如果你发现你以及打勾了,说明window系统已经是utf-8的编码,其次一部分比较老的软件不支持utf-8,比如我的vc6.0绿色中文版,更改需谨慎2
利用chcp命令在终端更改文件编码
- 在终端利用chcp 命令查看 cmd 的编码设置,GBK2312 的代码页编号是 936,然后改成utf-8的编码65001即可。
chacp 65001 |
chacp 936 |
- 这种方法的好处在于任何拥有终端的软件都可以使用,例如pycharm。但是弊端在于1每次使用都要修改太繁琐,所以我们下面有更好的方法
更改setting.json
- 以c++为例,在c++文件所属的setting.json尾部加上下列代码,c++文件默认使用utf=8
"code-runner.executorMap":{ |
- 一些涉及前端的开发需要用到node.js,但是在在node.js的调试过称中,经常需要在终端中使用console.log()输入一些变量,然而windows的cmd默认是GBK编码,乱码就出现了。
- VScode提供的对内置控制台的运行参数设定,我们可以通过 terminal.integrated.shellArgs.windows 选项对内置控制台的运行进行参数设定
– /K chcp 65001 >nul 的含义是在运行cmd的时候将编码设置为 65001;
– >nul 是避免在控制台输出修改编码的信息,否则会输出 active code page: 65001
– 閹跺﹤鐡ф担鎾叉叏閺€閫涜礋 Lucida Console
– 同时,把字体修改为 Lucida Console{
"editor.fontSize": 18,
"terminal.integrated.shellArgs.windows": ["/K chcp 65001 >nul"],
"terminal.integrated.fontFamily": "Lucida Console",
}
利用vscode下面状态栏的更改文件编码方式
- 点击底部的gbk或者Utf—8等编码方式,点击通过编码重新打开即可修改该文件编码
- 需要注意的是该方法只能改变某一文件的编码,而且1注意不要贸然保存,容易使乱码无法恢复
更该vscode默认文件编码保存方式
- 点击文件——>首选项——>设置——>搜索设置——>encoding——>Files:Encoding ——> gbk 修改实现
-也可以通过右下方的齿轮按钮进入设置
利用插件实现vscode文件gbk到utf-8的转换
- 点击vscod侧边栏第5的图标即为扩展商店,搜索gbk即可
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Sakuraの记事屋!
评论