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)”即可。

 
点击UTF-8
 
通过编码重新打开
 
Simplified Chinese(GB 2312)
 
通过编码重新打开后的结果

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

"files.autoGuessEncoding": true
 
命令面板
 
首选项:打开设置(json)
 
files.autoGuessEncoding
 
解决结果

提示:设置完成后,若文件还是中文乱码,关闭文件重新打开即可。

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。

 
通过编码保存
 
Simplified Chinese(GB 2312)
 
GB2312运行结果

解决方法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。

 
Simplified Chinese(GB 2312)
 
运行结果

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

 
首选项:打开设置(json)

修改前:

"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“即可。

 
GB2312
 
通过编码保存
 
UTF-8
 
在UTF-8下调试结果

3. 总结

    1. 打开文件时,设置"files.autoGuessEncoding": true令VS Code自动选择合适编码方式。
    2. 通过命令行或运行键运行程序时,若是UTF-8编码会造成中文乱码,需要在运行命令中添加“chcp 65001”,或者将UTF-8编码转换成GB2312编码。
    3. VS Code默认编码是UTF-8,调试时也是使用UTF-8,可以输出中文。

VS Code:4个中文乱码问题及解决方法-转载的更多相关文章

  1. jquery.ajax的url中传递中文乱码问题的解决方法

    jquery.ajax的url中传递中文乱码问题的解决方法   JQuery JQuery默认的contentType:application/x-www-form-urlencoded 这才是JQu ...

  2. windows下mysql中文乱码, 配置解决方法

    内容源自:windows下mysql中文乱码, 配置解决方法 解决方法:打开mysql安装目录,打开my.ini文件(如果只有my-default.ini文件,先将其改名为my.ini!!!) 修改内 ...

  3. Linux中文乱码问题终极解决方法

    方法一: 修改/root/.bash_profile文件,增加export LANG=zh_CN.GB18030该文件在用户目录下,对于其他用户,也必须相应修改该文件. 使用该方法时putty能显示中 ...

  4. Get,Post请求中文乱码问题有效解决方法

    本文主要介绍如何有效解决web请求中的乱码问题,其实解决方法有很多种,不同的请求类型解决方法也不相同. 本文只介绍最方便的一种: 1.先修改jsp中的编码方式 2.针对Post方式提交的请求如果出现乱 ...

  5. XShell连接CentOS 7.2显示中文乱码问题的解决方法

    背景 使用U盘往Windows主机.Linux主机传文件还是经常的事,但有时候文件名有中文, 传到Linux机器会有乱码,选择起来也很麻烦,最近刚好遇到,写下解决方法. 环境 Linux [root@ ...

  6. eclipse中生成的html存在中文乱码问题的解决方法

    最近在做测试报告生成时遇到了个中文乱码的问题,虽然在html创建过程中设置了编码格式htmlReporter.config().setEncoding("UTF-8");但是生成的 ...

  7. CentOS中文乱码问题的解决方法

    一.CentOS系统访问 xxx.cn ,发现中文乱码于是用以前的方式:# yum -y install fonts-chinese # yum -y install fonts-ISO8859 Ce ...

  8. 二十一、IntelliJ IDEA 控制台输出中文乱码问题的解决方法

    首先,找到 IntelliJ IDEA 的安装目录,进入bin目录下,定位到idea.vmoptions文件,如下图所示: 双击打开idea.vmoptions文件,如下图所示: 然后,在其中追加-D ...

  9. PHP中文乱码的常见解决方法总结

    PHP中文乱码是PHP开发中的常见问题之一.PHP中文乱码有时发生在网页本身,有些产生在于MySQL交互的过程中,有时与操作系统有关.下面进行一番总结. 一.首先是PHP网页的编码 1. php文件本 ...

  10. PHPMailer中文乱码问题的解决方法

    之前用PHPMailer帮人家开发了用于发邮件的网站,由于是英文客户,所以中文没怎么测试,最近反馈说 中文乱码! 其实,之前是有发现标题中会出现中文了乱码,已经通过相应的代码解决. 收到反馈之后,查看 ...

随机推荐

  1. 一文总结Vue

    一.创建项目 1.安装Node.js 查看node版本 node-v 查看npm版本 npm-v 2.安装vue-cli脚手架 安装 npm install -g @vue/cli 创建项目 vue ...

  2. Python-网络编程和多进程多线程开发

    网络编程 osi7层模型 以通过访问网站发送请求数据为例,每一层会做如下的事情 应用层:规定数据的格式. "GET /s?wd=你好 HTTP/1.1\r\nHost:www.baidu.c ...

  3. CodeGym自学笔记06——内存寻址和变量

    内存寻址和变量 print() print() 函数用于在屏幕上逐个字符显示文本.当屏幕上某一行没有足够空间时,文本开始在下一行显示. println() 可以使用 println() 函数停止在当前 ...

  4. 代码随想录 day0 博客怎么写

    前言 2.25日开始记录自己的博客生涯以及代码随想录训练营的每日内容 一.题目链接怎么找?怎么设置连接? 力扣题目链接1:力扣 二.正文怎么写? 二分查找 算法思路: 二分查找需要保证数组为有序数组同 ...

  5. Mac新手必看Mac入门基本知识图文教程

    你已经是Mac的用户了吗?还是准备入手的新手呢? 赶快看看"Mac入门基本知识"吧! macbook系统基础内容简介 Mac入门基本知识 1.主界面结构图基本知识介绍(如图所示) ...

  6. 前端下载的方式总结(url,文件流,压缩包)

    1.比较常见的是通过a标签的href属性直接访问文件url地址. (1)const downloadUrl = (url: string, file_name?: string) => { if ...

  7. Experience Cloud

    通过Apex的方式上传 Topic: String communityId = [Select Id from Network where Name = 'MobileMNOCS'].Id; Inte ...

  8. django的模版

    django的模版 1模版语法  views.py 书写方式 def index(request): ''' 模版语法分: 变量: {{ }} 1. 深度查询 句点符 2. 过滤器 {{val|fil ...

  9. PyCharm如何实现控制台换行显示

    举个例子 我现在想要看输出结果的所有数据然后再控制台输出的信息如下: 本来输出的内容有很多,但由于只显示了一行,因此想要看全部的内容还需要拖拉滚动条,挺麻烦的,而且看着也不方便,怎么让控制台信息全都直 ...

  10. dcat-admin在弹框中使用grid的编辑框不提示也不报错

    显示效果 #版本:2.1.5-beta #点击编辑时没有反应,其实它已经把编辑框显示出来了,只是在当前这个弹框的后面,我们看不见,这样你可以在自己的项目中把弹框挪开或在F12中html搜索应该显示的代 ...