windows下使用MinGw编译出现中文乱码问题解决

前段时间用sublime text+MinGW搭建了C++环境今天突然发现cmd中文显示乱码,解决方案如下:

乱码原因

windows cmd使用的字符集为GBK,CPP文件字符集为UTF-8
Markdown

解决方案:

通过给g++编译器加两个参数即可

-fexec-charset=GBK
-finput-charset=UTF-8

第一个参数指定窄字符或窄字符串的字面值常量的内部编码方式,默认为UTF-8。例如指定此选项为GBK,则窄字符或窄字符串常量将会以GBK编码方式存储而不是默认的UTF-8编码方式。

第二个参数,可能不需要加,加了第一个参数后还有乱码可以试试这个,意思是指定源文件的文件编码。

如果你是直接编译

g++ -fexec-charset=GBK test.cpp -o test

如果使用codeblocks

就是给编译器加上选项:-fexec-charset=GBK,和windows默认的统一,就OK了。

如果使用sublime text+MinGW搭建环境

参考我的另一篇博客:http://blog.csdn.net/timekeeperl/article/details/61630207

发布了20 篇原创文章 · 获赞 25 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/Timekeeperl/article/details/68266218