Qt5中文亂碼問題解決方案

2021-08-19 05:14:32 字數 1052 閱讀 3918

個人感覺每個人的亂碼解決情況不一樣,本人亂碼時也在網上查詢了很多種方法,但是都無濟於事。

個人情況:要在qt的ui介面中的tableview中顯示從資料庫查詢到的資訊

本人使用的是qt5.8.0,連線mysql資料庫,主要有兩點:

1、將要插入的文字(注意是插入時)從qstring換成qbytearray。

eg:2、在資料庫連線時加上兩句話:

如果不放心,還可以加一句:db.exec(「set names utf8」);

注意:一定要在資料庫open之前加,若加在後面還是會亂碼,親測是這樣

另外,如果在mysql命令列查詢是亂碼,可以找到mysql的安裝目錄,找到my.ini檔案,用notepad++開,然後修改兩個地方:

將預設的utf8改為gbk,即可解決命令列亂碼問題

/*******************************************

另一種行之有效的方法

********************************************/

qtextcodec *codec = qtextcodec::codecforname("system");    //獲取系統編碼

qtextcodec::setcodecforlocale(codec);

qtextcodec::setcodecforcstrings(codec);

qtextcodec::setcodecfortr(codec);

Qt5中文亂碼解決方案

公升級到qt5.x之後,原先解決的qt顯示中文亂碼的方法突然不適用了,找了很多方式來解決這個問題 第一種 在公司 裡看到的方法,先將對應的cpp檔案用windows自帶的記事本開啟,另存為utf 8格式,然後在 中,遇到中文字元,使用qstringliteral 中文 進行修飾 這種方式每次新建乙個...

QT5中文亂碼解決方案

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

Qt中文亂碼問題解決方案

注意 qt的4.8版預設的不是utf 8,所以可能會出現中文亂碼。1.匯入字元編碼標頭檔案 qtextcodec 2.在main函式中 建立乙個字元編碼物件 qtextcodec codec qtextcodec codecforname utf 8 告訴qt當前系統所使用的字元編碼 qtextco...