大家应该都试过GCC编译运行可执行文件后, 中文输出是乱码的情况.
这是因为VS Code或Clion以及其他主流编辑器的默认编码都是UTF-8
, GCC编译也是使用UTF-8
, 而Windows的控制台却默认GBK
编码, 就导致了输出中文时乱码.
现有解决方案
- 将源码的编码格式改成
GBK
, 麻烦, 发送给别人也会导致乱码, 而且编译时也会出现警告. - 改用Cygwin, 该软件是Windows仿真Linux模拟环境, 可以解决乱码问题, 但是不能使用最新Clang LLVM工具链.
- 使用WSL2 Linux子系统, 更全面的Linux环境, 但是对编译几个C/C++文件来说花销太大了.
完美的解决方法是: 源码保持为UTF-8
, 全局修改控制台的编码为UTF-8
这个方法不会对系统产生奇怪的bug或其他影响, 放心修改.
然后按提示重启, 就一劳永逸了, 不会再出现乱码啦~