0x01 問題描述
將CB
的編碼格式設置為UTF-8
之后,在CMD
窗口輸出中文亂碼。
0x02 解決辦法
控制台顯示的時候缺省的是使用系統默認的字符集,比如windows下用的是GBk
,但是默認情況下,編譯之后的執行文件時編譯成UTF-8
的,所以又出現了不統一,亂碼由此而生!
搞懂了亂碼產生的原因,那么不難得出結論,如何修改,你想修改成什么都OK,關鍵是要統一,並不是像網上一些人說的,修改成GBK
就OK,其實你要修改成UTF-8
都OK,關鍵是統一。
修改步驟:
- 修改源文件保存編碼在:settings->Editor->gernal settings 看到右邊的
Encoding group Box
Use encoding when opening files
:這個表示打開文件用的格式,第一次保存文件的時候也會用這個格式。
As default encoding
:表示設置為文件缺省保存和打開編碼格式 - 修改編譯器對源文件解釋編碼格式和生成執行文件執行時候采用的編碼格式
是在settings->compiler and debugger settings里面,選擇對應的GCC
編譯器,如下圖所示:
在other options
里面加入:
-finput-charset=UTF-8
-fexec-charset=GBK
第一個參數表示編譯的時候輸入文件的編碼解釋格式,第二參數表示生成的執行文件執行的時候顯示用的編碼格式。
0x03 參考鏈接
2017-02-27 17:08:33 星期一