g++編譯后中文顯示亂碼解決方案


環境:Windows 10 專業版

GCC版本:5.3.0

測試代碼:

1 #include <iostream>
2 using namespace std;
3 
4 int main(int argc, char const *argv[])
5 {
6     cout << "你好。" << endl;
7     return 0;
8 }

編譯執行后發現,中文不能正確顯示出來。

用記事本打開文件,然后【另存為】

發現文件編碼方式是UTF-8,修改成ANSI。繼續編譯執行,發現中文可以准確顯示了。

我們把文件修改為UTF-8的編碼方式,用一下命令編譯執行,發現中文也可以准確顯示了。

g++ -fexec-charset=GBK main.cpp -o main.exe && main.exe

-fexec-charset=charset,此選項指定窄字符或窄字符串的字面值常量的內部編碼方式,默認為UTF-8。例如指定此選項為GBK,則窄字符或窄字符串常量將會以GBK編碼方式存儲而不是默認的UTF-8編碼方式。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM