当前位置: 首页 > news >正文

vscode输出中文乱码问题的解决

目录

1,问题

2,解决方案

方法一: 设置  main.cpp  、 编译命令(可执行文件)、终端输出编码(运行可执行文件)均为UTF-8

方法二: 设置  main.cpp  、 编译命令(可执行文件)、终端输出编码(运行可执行文件)均为GBK


1,问题

代码:

#include <iostream>
using namespace std;int main() {cout << "你好纯纯存储" << endl;return 0;
}

报错原因:

源代码文件编码、编译器处理编码和终端输出编码这三者的统一

  • 源码文件编码为   UTF-8
  • 编译器默认用GBK解析源码,生成GBK编码的可执行文件
  •  ​​Windows终端(PowerShell/CMD)默认使用GBK编码(codepage 936)​​,无法正确解析UTF-8字节流

2,解决方案

方法一: 设置  main.cpp  、 编译命令(可执行文件)、终端输出编码(运行可执行文件)均为UTF-8

1,源码main.cpp

#include <iostream>
#include <windows.h>
using namespace std;int main() {SetConsoleOutputCP(65001); // 设置控制台输出为 UTF-8cout << "你好纯纯存储" << endl;return 0;
}

2,编译命令(可执行文件)

-finput-charset=UTF-8                       指定源文件为UTF-8

-fexec-charset=UTF-8                       指定可执行文件字符串为UTF-8

g++ -finput-charset=UTF-8 -fexec-charset=UTF-8 main.cpp -o main.exe

3,终端输出编码(运行可执行文件)

方法二: 设置  main.cpp  、 编译命令(可执行文件)、终端输出编码(运行可执行文件)均为GBK

1,源码main.cpp

#include <iostream>
using namespace std;int main() {cout << "你好" << endl;return 0;
}

2,编译命令(可执行文件)

采用windows默认的GBK编译

 g++ main.cpp -o main.exe

3,终端输出编码(运行可执行文件)

Windows默认GBK

 .\main

http://www.lryc.cn/news/588798.html

相关文章:

  • [BrowserOS] Nxtscape浏览器核心 | 浏览器状态管理 | 浏览器交互层
  • TiD2025 | openKylin基础设施平台创新实践分享,构筑开源质量根基
  • 内存栅栏(std::atomic_thread_fence)
  • Redis学习系列之——Redis Stack 拓展功能
  • 深度学习中的激活函数:从原理到 PyTorch 实战
  • C++11:constexpr 编译期性质
  • 【Python3-Django】快速掌握DRF:ModelViewSet实战指南
  • AJAX 入门到精通
  • JavaScript中关于环境对象的拓展
  • GaussDB 数据库字符编码与兼容模式
  • 操作系统笔记:进程调度(Process Scheduling)
  • 纸板加工制造学习1
  • Listener(监听器)
  • 【监控实战】Grafana自动登录如何实现
  • 【prometheus+Grafana篇】基于Prometheus+Grafana实现SQLserver数据库的监控与可视化
  • 半导体制造流程深度解析:外观缺陷检测的AI化路径与实践
  • 批量制作Word:如何根据表格数据的内容批量制作word,根据Excel的数据批量制作word文档的步骤和注意事项
  • docker安装prometheus和Grafana
  • 【PTA数据结构 | C语言版】将表达式树转换成中缀表达式
  • JDK1.8函数式编程实战(附日常工作案例,仅此一篇耐心看完彻底搞懂)
  • 进程探秘:从 PCB 到 fork 的核心原理之旅
  • Isaac Sim仿真赋能机器人工作流,推动具身智能在机器人领域研究
  • Web前端入门:JavaScript 由程序触发绑定事件的几种方式
  • redisson 设置了过期时间,会自动续期吗
  • [ctfshow web入门]web98 学习PHP的引用
  • LeetCode 3136.有效单词:遍历模拟
  • 21.映射字典的值
  • 连接new服务器注意事项
  • 非实时的防控场景
  • LLM面试题及讲解 4