[C++_QT] 代碼中不能有中文的解決方案 換行符問題


#開始

  今天開始入坑QT了 似乎是個高大上的東西,師傅一直建議我學這個 (如果用C++做界面的話)

  配置好環境之后寫了代碼運行沒問題

  但是添加了中文字符之后就 die 了,這個問題的話 LInux上的QT也是有問題的...Linux上面 QT Creator 不能直接輸入中文

  

 

#解決過程

  網上找了很多 確定了是編碼的問題

  找到一個解釋(http://blog.sina.com.cn/s/blog_9cb7986b0102wtdh.html):

    在 Qt 中,默認的編碼是 Unicode,我們書寫的代碼文件被強制轉換為 utf8,但是,在簡體中文版的 Windows 操作系統中,默認編碼卻是 GBK。因此,在編譯 Qt 程序時,如果代碼中含有特定中文字符,Qt 的編譯器就會發生誤判,向我們報告“常量中有換行符”。當然了,如果你使用別的一些中文字符,恰巧該字符編碼不含這些特定字符,則編譯時不會報錯,但程序運行時中文字符卻往往不能正常顯示。

  

  所以接下來要做的就是改變編碼啦.

  1. 在項目視圖中 找到有問題的文件 右鍵 explorer顯示

     

  2. Edit with Notepad++ (需要安裝Notepad++ 其他的相同作用的也行)

    

  3. 編碼 -> 轉變為UTF-8

    

  4. 然后QT Creator中從新載入就可以了

 

#其他方案 https://www.cnblogs.com/zhehan54/p/6692050.html

  

  但是這個方法還沒嘗試 不知道有沒有用 

   補充: 剛才驗證了 問題二的 a,b,c 都不好用 但是 下面的代碼好用 棒極了

  

#if _MSC_VER >= 1600
#pragma execution_character_set("utf-8")
#endif

 

 

 

#備注

  QT 5.8

  QT Creator 4.2.1

  WIn10 x64

 


免責聲明!

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



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