需求
qt介面開發過程中可能使用到多個語言的字元。需要解決亂碼問題。
api介紹
qt 提供類:qtextcodec class,用來支援各種編碼協議,支援:
等等一些編碼協議。
qt的qtextcodec class類提供了很多控制編碼的方法和靜態函式。 原因
使用msvc編譯器會使用本地編碼,造成和qt預設設定的編碼衝突,編譯過程**現中文亂碼。最簡單的方式是:使用mingw編譯器。
具體方法
#include
intmain
(int argc,
char
*ar**)
補充
參考文獻:
仍然使用,但是是將字串轉換。
qtextcodec *codec = qtextcodec::
codecforname
(「gbk」)
;//修改這兩行
w.setwindowtitle
(codec-
>
tounicode
(「學生事務管理系統」)
);
利用qstring::fromlocal8bit()靜態函式;
w.
setwindowtitle
(qstring::
fromlocal8bit
("學生事務管理系統"))
;
利用qstringliteral()函式處理字串。
w.
setwindowtitle
(qstringliteral
("學生事務管理系統"))
;
4.指定msvc編譯器執行字符集,強制msvc編譯器採用utf-8編碼生成可執行檔案。
#if _msc_ver >= 1600
// msvc2015 > 1899, msvc_ver = 14.0
#pragma execution_character_set("utf-8")
#endif
使用 #pragma execution_character_set(「utf-8」) 強制轉換後,就不要再使用前面兩種方法了,否則又亂碼了,做無用功。 qt 中文亂碼 Qt中文亂碼問題
接觸了qt,由於習慣中vs,如果使用vs寫qt 剛接觸很快就發現有中文亂碼問題,我的解決方法如下 新建乙個標頭檔案,比如qtchcharset.h,標頭檔案中內容如下 pragma once ifdef q os win q os win 新增後支援gb2312,utf 8 bom,unicode ...
Qt中文亂碼
laguage c title 出現頻率最高的辦法 include intmain int argc,char argv 很多地方都會告訴你,這樣可以實現qt支援中文,包括我看的教程書上也是,他甚至告訴我要支援中文必須加入這段 但我想告訴你,這個辦法是有問題的,而且這個問題還不小!我在兩台同樣是xp...
QT中文亂碼
兩邊都是win7系統,不知道為什麼在我的機器上就可以正常顯示,而把exe檔案加上必要的dll一起移到另一台win7系統電腦上時,button,label什麼的都顯示亂碼了,而且qtextedit裡面的卻能夠正常顯示。請問下這是因為什麼問題呢?通過設定以下 也沒能解決問題 c c code 1234 ...