Qt5中文亂碼解決方案

2021-08-13 22:22:13 字數 1013 閱讀 7493

公升級到qt5.x之後,原先解決的qt顯示中文亂碼的方法突然不適用了,找了很多方式來解決這個問題

第一種:

在公司**裡看到的方法,先將對應的cpp檔案用windows自帶的記事本開啟,另存為utf-8格式,然後在**中,遇到中文字元,使用qstringliteral("中文")進行修飾

這種方式每次新建乙個class就要切出去用記事本編輯一下實在麻煩,而且每個中文字串都要用qstringliteral來修飾,實在麻煩

後來有找到了個方法

第二種:

在標頭檔案申明中加上

#pragma execution_character_set("utf-8")

一切ok了
2016-10-8補充
ps:方法2只是用在qt5最初的某個版本上大概是兩三年前的某個版本,當初使用是可以解決中文顯示問題
最近用qt5.6 5.7兩個版本,這個方法已經不行了。各位還是繼續使用方法1來顯示中文字元
—————————————這是一條浪蕩的分割線—————————————————

2017.3.20更新

專門找了資料,把目前測試能用的解決中文字元亂碼的方法整理的一下

環境:vs2015   qt5.7

[cpp]view plain

copy

qstring str1=qstringliteral(

"中文字元"

);  

qstring str2=qstring::fromlocal8bit("中文字元"

);  

qstring str3=qstring::fromwchararray(l"中文字元"

);  

qstring str4=u8"中文字元"

;    

//好像這種方法只適合c++11以上版本

QT5中文亂碼解決方案

qt5中文亂碼解決方案 在qt5程式設計時,經常會出現中文亂碼的情況,原始碼如下 include mainwindow.h include intmain int argc,char ar 編譯執行之後中文不能正常顯示,如圖 為此專門查了好多資料,但是都沒有解決這個問題,後來嘗試了很多次之後,發現將...

Qt5中文亂碼問題解決方案

個人感覺每個人的亂碼解決情況不一樣,本人亂碼時也在網上查詢了很多種方法,但是都無濟於事。個人情況 要在qt的ui介面中的tableview中顯示從資料庫查詢到的資訊 本人使用的是qt5.8.0,連線mysql資料庫,主要有兩點 1 將要插入的文字 注意是插入時 從qstring換成qbytearra...

Qt5中文亂碼問題

標頭檔案加上 include 在類裡面定義變數 qtextcodec codec 在建構函式中初始化變數 codec qtextcodec codecforname gb18030 在每次使用中文的時候直接呼叫 codec tounicode 開啟檔案 對於中文路徑 qstring filename...