本文发布于 2020-03-20, 最后更新于 2350 天前,其中的信息可能已经有所发展或是发生改变。

文章摘要

习惯用Visual Studio写代码的我,今日为了写一小工具,选择用用VS code + MINGW,试试水,然后就有 水 了这篇文章 日常 众所周知,visual studio虽然是只巨无霸,但它的功能以及集成性还真的是配得上它所占的空间 不多不多,也就60G 而如果用vs写控制台程序,项目属性中是可以选择使用多字节字符集的 所以以前写控制台程序都没怎么考虑编码问题,也就不存在输出乱码的问题了…

日常

众所周知,visual studio虽然是只巨无霸,但它的功能以及集成性还真的是配得上它所占的空间 不多不多,也就60G

而如果用vs写控制台程序,项目属性中是可以选择使用多字节字符集的

所以以前写控制台程序都没怎么考虑编码问题,也就不存在输出乱码的问题了

而今天使用vscode + MINGW写程序,它可不自带这个属性设置,因此出现了中文乱码的问题

我的代码是使用UTF-8保存的,因此我猜测是控制台使用GBK编码的缘故

打开cmd,输入chcp,果不其然,输出了936

936对应的字符集就是GBK

咋整?

那怎么办呢?实际上在编译生成可执行文件的时候可以规定可执行文件内字符的编码方式,具体可以在编译命令后加上这几个命令。Tips:按需求添加

附加命令 注释
-finput-charset=UTF-8 告诉编译器,源代码是用什么编码保存的 (默认是UTF-8)
-fexec-charset=GBK 指定可执行文件中的字符的编码方式(默认也是UTF-8)

接下来再编译文件就不会乱码啦!

氵完了

九仞之行

严于律己,宽以待人,深自警省,讷言敏行

订阅
💬 评论 (1)
S
Styunlen博主Edge 80 · Windows 10山东

氺完两篇文章,继续赶作业去了捂脸哭

编辑器加载中…