windows下vscode使用msvc编译器出现中文乱码

### 文章目录

  • [@[toc]](#文章目录 @[toc] 1、概述 2、修改已创建文件编码 3、修改vscode默认编码)
  • [1、概述](#文章目录 @[toc] 1、概述 2、修改已创建文件编码 3、修改vscode默认编码)
  • [2、修改已创建文件编码](#文章目录 @[toc] 1、概述 2、修改已创建文件编码 3、修改vscode默认编码)
  • [3、修改vscode默认编码](#文章目录 @[toc] 1、概述 2、修改已创建文件编码 3、修改vscode默认编码)
更多精彩内容
👉内容导航 👈
👉C++ 👈
👉开发工具 👈

1、概述

  • 在使用MSVC编译器时,出现中文报错的问题可能与编码格式有关。
  • UTF-8是一种变长的Unicode编码方式,它可以用来表示世界上几乎所有的字符。然而,UTF-8编码有两种常见的形式:UTF-8和UTF-8 with BOM(Byte Order Mark)。
  • UTF-8 without BOM是最常见的UTF-8编码形式,它不包含BOM。BOM是一个特殊的字符序列(EF BB BF),用于标识文件的字节序。
  • 在UTF-8中,字节序是固定的,因此BOM在UTF-8中并不是必需的。然而,一些编辑器和工具可能会在文件开头添加BOM,以帮助识别文件的编码格式。
  • MSVC编译器默认使用系统的本地编码(如Windows-1252)来处理源文件。如果源文件使用UTF-8 without BOM编码,而编译器期望的是本地编码,那么编译器可能会错误地解释文件中的字符,导致中文报错。
  • 当使用UTF-8 with BOM编码时,BOM可以帮助编译器正确识别文件的编码格式,从而避免中文报错。这是因为BOM在文件开头明确标识了文件的编码为UTF-8,编译器可以据此正确地解析文件中的字符。
环境 版本
IDE vscode
系统 windows11
构建工具 cmake
编译器 msvc2022-64

问题: 使用msvc编译c++程序时出现如果代码中有中文,则会出现警告、输出乱码或者中文导致的编译失败,如下所示;

shell 复制代码
甯搁噺涓�鏈夋崲琛岀�� [E:\Code\C++\test\build\test1.vcxproj]
璇�娉曢敊璇�: 缂哄皯鈥�;鈥�(鍦ㄢ€渳鈥濈殑鍓嶉潰) [E:\Code\C++\test\build\test1.vcxproj]
璇ユ枃浠跺寘鍚�涓嶈兘鍦ㄥ綋鍓嶄唬鐮侀〉(936)涓�琛ㄧず鐨勫瓧绗︺€傝�峰皢璇ユ枃浠朵繚瀛樹负 Unicode 鏍煎紡浠ラ槻姝㈡暟鎹�涓㈠け [E:\Code\C++\test\build\test1.vcxproj]

2、修改已创建文件编码

对于已经存在的文件,需要选择使用utf-8 bom编码重新保存文件;

  • 在vscode窗口右下角,选择UTF-8
  • 然后在弹窗中选择通过编码保存
  • 选择使用UTF-8 with BOM编码,然后就可以重新编译了;

3、修改vscode默认编码

vscode默认使用的是utf-8编码,需要修改为utf-8 bom编码。

如果一个文件一个文件该会非常麻烦,修改vscode默认编码后,新创建文件可以使用utf-8 bom编码。

  • 选择【文件】【首选项】【设置】;
  • 选择【文本编辑器】【文件】,将【Encoding】项改为使用UTF-8 with BOM
  • 然后就可以正常编译并且输出中文了;


相关推荐
虚空之月&&轮舞者43 分钟前
Python与矢量网络分析仪3671E:自动化测试(Vscode)
网络·vscode·python·射频工程
2501_915373886 小时前
Electron 打包与发布指南:让你的应用运行在 Windows、macOS、Linux
windows·macos·electron
阿幸软件杂货间11 小时前
VSCode1.101.0便携版|中英文|编辑器|安装教程
vscode·编辑器
田辛 | 田豆芽17 小时前
【ASP.net】在Windows 11上安装IIS并测试C# Web项目的踩坑实录
windows·c#·asp.net
6v6-博客17 小时前
闲鱼智能客服机器人-实现闲鱼平台7×24小时自动化值守
windows
哞哞不熬夜17 小时前
JavaEE--文件操作和IO
java·开发语言·windows·学习·java-ee·intellij-idea·idea
奋斗鱼17 小时前
如何清除windows 远程桌面连接的IP记录
windows
对 酒 当 歌 人 生 几 何18 小时前
sui在windows虚拟化子系统Ubuntu和纯windows下的安装和使用
linux·windows·ubuntu
qq_3938282218 小时前
Windows ABBYY FineReader 16 Corporate 文档转换、PDF编辑和文档比较
windows·microsoft·电脑·开源软件·软件需求
小声读源码1 天前
【部署】win10的wsl环境下调试dify的api后端服务
vscode·python·docker·uv·dify·remote-ssh·pyenv