VS Code:4个中文乱码问题及解决方法-转载
https://www.jianshu.com/p/6a2c21cc07bb
1. 背景
凡是编程软件,特别是国外的软件,都有或多或少的中文乱码问题(毕竟程序都是用英文写的)。现提出VS Code编程过程中遇到的4个中文乱码问题以及解决方法。
2. 问题
2.1 打开文件后,中文显示乱码
#include <iostream>
using namespace std;
int main()
{
int sum = 0, value = 0;
//ֻ�������ļ�������EOF���������������ʱ�������Ƴ�ѭ����������
//���������ֺ�ctrl+z�Ƴ�ѭ��
while (cin >> value) {
sum += value;
}
cout << "Sum is: " << sum << endl;
return 0;
}
注意:当打开文件,其内容中文乱码时,不要Ctrl+S保存文件。因为那样会保存乱码,使其无法恢复中文。
解决方法1:点击右下角中的“UTF-8”,选择“通过编码重新打开”,输入“GB 2312”,选择“Simplified Chinese(GB 2312)”即可。


解决方法2:打开“查看”>“命令面板”,输入“setting”, 选择“首选项:打开设置(json)”,输入如下语句并保存即可。
"files.autoGuessEncoding": true


提示:设置完成后,若文件还是中文乱码,关闭文件重新打开即可。
2.2 终端命令行运行时出现中文乱码
g++ 1.cpp -o 1.exe; ./1.exe
原因:在终端使用命令行运行程序时,文件为UTF-8编码,而非GB2312编码。
解决方法1:点击右下角的"UTF-8",选择”通过编码保存“,输入”GB 2312“,选择“Simplified Chinese(GB 2312)”,将UTF-8转换成GB 2312。


解决方法2:在命令行前面添加chcp 65001用于换码。
chcp 65001; g++ 1.cpp -o 1.exe; ./1.exe
2.3 点击运行键运行程序出现中文乱码
原因:从终端可发现,点击运行键运行程序与直接用命令行运行程序相类似,其中文乱码也是因为使用UTF-8编码。
解决方法1:点击右下角的"UTF-8",选择”通过编码保存“,输入”GB 2312“,选择“Simplified Chinese(GB 2312)”,将UTF-8转换成GB 2312。

解决方法2:打开“查看”>“命令面板”,输入“setting”, 选择“首选项:打开设置(json)”,在"code-runner.executorMap"中的“cpp”添加“chcp 65001”。

修改前:
"cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt"
修改后:
"cpp": "cd $dir && chcp 65001 && g++ $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt"
2.4 调试时,终端出现中文乱码或无法输出中文
原因:文件使用GB2312编码,而非UTF-8编码。
解决方法:点击右下角的"GB2312",选择”通过编码保存“,输入”utf-8“,选择”UTF-8 utf8“即可。


3. 总结
- 打开文件时,设置"files.autoGuessEncoding": true令VS Code自动选择合适编码方式。
- 通过命令行或运行键运行程序时,若是UTF-8编码会造成中文乱码,需要在运行命令中添加“chcp 65001”,或者将UTF-8编码转换成GB2312编码。
- VS Code默认编码是UTF-8,调试时也是使用UTF-8,可以输出中文。
VS Code:4个中文乱码问题及解决方法-转载的更多相关文章
- jquery.ajax的url中传递中文乱码问题的解决方法
jquery.ajax的url中传递中文乱码问题的解决方法 JQuery JQuery默认的contentType:application/x-www-form-urlencoded 这才是JQu ...
- windows下mysql中文乱码, 配置解决方法
内容源自:windows下mysql中文乱码, 配置解决方法 解决方法:打开mysql安装目录,打开my.ini文件(如果只有my-default.ini文件,先将其改名为my.ini!!!) 修改内 ...
- Linux中文乱码问题终极解决方法
方法一: 修改/root/.bash_profile文件,增加export LANG=zh_CN.GB18030该文件在用户目录下,对于其他用户,也必须相应修改该文件. 使用该方法时putty能显示中 ...
- Get,Post请求中文乱码问题有效解决方法
本文主要介绍如何有效解决web请求中的乱码问题,其实解决方法有很多种,不同的请求类型解决方法也不相同. 本文只介绍最方便的一种: 1.先修改jsp中的编码方式 2.针对Post方式提交的请求如果出现乱 ...
- XShell连接CentOS 7.2显示中文乱码问题的解决方法
背景 使用U盘往Windows主机.Linux主机传文件还是经常的事,但有时候文件名有中文, 传到Linux机器会有乱码,选择起来也很麻烦,最近刚好遇到,写下解决方法. 环境 Linux [root@ ...
- eclipse中生成的html存在中文乱码问题的解决方法
最近在做测试报告生成时遇到了个中文乱码的问题,虽然在html创建过程中设置了编码格式htmlReporter.config().setEncoding("UTF-8");但是生成的 ...
- CentOS中文乱码问题的解决方法
一.CentOS系统访问 xxx.cn ,发现中文乱码于是用以前的方式:# yum -y install fonts-chinese # yum -y install fonts-ISO8859 Ce ...
- 二十一、IntelliJ IDEA 控制台输出中文乱码问题的解决方法
首先,找到 IntelliJ IDEA 的安装目录,进入bin目录下,定位到idea.vmoptions文件,如下图所示: 双击打开idea.vmoptions文件,如下图所示: 然后,在其中追加-D ...
- PHP中文乱码的常见解决方法总结
PHP中文乱码是PHP开发中的常见问题之一.PHP中文乱码有时发生在网页本身,有些产生在于MySQL交互的过程中,有时与操作系统有关.下面进行一番总结. 一.首先是PHP网页的编码 1. php文件本 ...
- PHPMailer中文乱码问题的解决方法
之前用PHPMailer帮人家开发了用于发邮件的网站,由于是英文客户,所以中文没怎么测试,最近反馈说 中文乱码! 其实,之前是有发现标题中会出现中文了乱码,已经通过相应的代码解决. 收到反馈之后,查看 ...
随机推荐
- Educational Codeforces Round 137 (Rated for Div. 2) - F. Intersection and Union
(线段树 + 思维)or 动态dp [Problem - F - Codeforces](https://codeforces.com/contest/1743/problem/E) 题意 数轴上有 ...
- blob对象excel文件上传下载
页面结构 <el-upload style="width: 93%" action="/stap/systemManage/weakPassword/excelIm ...
- Java面向对象之static关键字详解
static关键字详解 package OOP.Demo10; public class Person { //2:赋初值 { System.out.println("匿名代码块" ...
- 报错信息;Cannot execute request on any known server 解决;sprigcloud;跑本地但是服务一直在eureka
配置文件加上: eureka.client.register-with-eureka=falseeureka.client.fetch-registry=false
- Django 之RestFramework
1. 从request先说起 在Django原生的request里,请求的数据可以从request.GET或者request.POST里面取到. 需要注意的是,如果是POST请求,request.PO ...
- tool/js - ChineseToPinyin 汉语转拼音
tool/js - ChineseToPinyin 汉语转拼音 Convert_Pinyin.js js如何简单实现汉字转成拼音的功能 pinyin-pro 官网 npm npm 安装 npm ins ...
- Docker 安全加固
一.docker安全加固 1.利用LXCFS增强docker容器隔离性和资源可见性 (proc容器与宿主机之间是共享的 没有进行隔离) 此rpm包在真机桌面q目录中 需先传到虚拟机/root/下 在 ...
- deepinlinux安装golang
Download 从 Google 官方获取安装包,不用FQ直接访问 http://golang.google.cn,选择 Linux 的安装包如 go1.14.linux-amd64.tar.gz ...
- centos6.5最小安装不能联网
因为个人需要,在一台笔记本安装centos6.5最小安装时遇到了无法有线联网,后面经过了几个小时的处理 总算理清楚并解决了这个问题.亲测有效而不是转载! 如上图所示 处理这个问题颇有感受,在网上找了很 ...
- golang windows程序获取管理员权限(UAC )
在windows上执行有关系统设置命令的时候需要管理员权限才能操作,比如修改网卡的禁用.启用状态.双击执行是不能正确执行命令的,只有右键以管理员身份运行才能成功.为解决此问题,花了很长时间找了各种方法 ...