Code:Blocks中文輸出亂碼解決方法


0x01 問題描述

CB的編碼格式設置為UTF-8之后,在CMD窗口輸出中文亂碼。

0x02 解決辦法

控制台顯示的時候缺省的是使用系統默認的字符集,比如windows下用的是GBk,但是默認情況下,編譯之后的執行文件時編譯成UTF-8的,所以又出現了不統一,亂碼由此而生!
搞懂了亂碼產生的原因,那么不難得出結論,如何修改,你想修改成什么都OK,關鍵是要統一,並不是像網上一些人說的,修改成GBK就OK,其實你要修改成UTF-8都OK,關鍵是統一
修改步驟:

  1. 修改源文件保存編碼在:settings->Editor->gernal settings 看到右邊的Encoding group Box
    Use encoding when opening files:這個表示打開文件用的格式,第一次保存文件的時候也會用這個格式。
    As default encoding:表示設置為文件缺省保存和打開編碼格式
  2. 修改編譯器對源文件解釋編碼格式和生成執行文件執行時候采用的編碼格式
    是在settings->compiler and debugger settings里面,選擇對應的GCC編譯器,如下圖所示:

other options里面加入:

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

第一個參數表示編譯的時候輸入文件的編碼解釋格式,第二參數表示生成的執行文件執行的時候顯示用的編碼格式。

0x03 參考鏈接

2017-02-27 17:08:33 星期一


免責聲明!

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



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