QT5 中文顯示亂碼問題

2021-08-25 14:10:00 字數 1013 閱讀 6766

qt中的中文顯示,經常會出現亂碼。從網上看了一些部落格,大都是qt4中的解決方法, 

網上搜到的都是這種:

#include < qtextcodec >

int main(int argc, char **argv)

qt5中, 取消了qtextcodec::setcodecfortr()和qtextcodec::setcodecforcstring()這兩個函式,而且網上很多都是不推薦這種寫法。

**:

#include "helloqt.h"

結果:

有三種轉換的方法: 

1.加上#include

qtextcodec *codec = qtextcodec::codecforname(「gbk」);//修改這兩行 

w.setwindowtitle(codec->tounicode(「學生事務管理系統」)); 

**改為:

#include "helloqt.h"

2.w.setwindowtitle(qstring::fromlocal8bit(「學生事務管理系統」)); 

**改為:

#include "helloqt.h"

3.w.setwindowtitle(qstringliteral(「學生事務管理系統」)); 

**改為:

#include "helloqt.h"

結果:

Qt5中文亂碼問題

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

QT5 中文亂碼問題

pragma execution character set utf 8 在類中宣告此預編譯!指示char的執行字符集是utf 8編碼。為什麼會出現亂碼 首先,我們需要有的概念是亂碼的問題是由編碼和解碼方式引起的。涉及到編碼方式的地方有3個 原始碼字符集 執行字符集 執行環境字符集 原始碼字符集 t...

QT5中文亂碼問題

突然開啟乙個別人的工程,發現中文總是顯示不出來,qdebug 列印出來也全是?搜尋了一下解決方法,但是總解決不了。方法1 加入 qtextcodec codec qtextcodec codecforname utf 8 但是對我無效。方法2 在標頭檔案申明中加上 pragma execution ...