環境: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編碼方式。