QT各種亂碼解決方案

2021-08-06 08:33:56 字數 959 閱讀 6239

qt中的中文顯示,經常會出現亂碼,但在ui設計介面上新增的中文是不會出現亂碼的,如果你剛使用qt,那麼你肯定會碰到這個問題。

網上搜尋一下,找到的都是這種:

#include < qtextcodec >

int main(int argc, char **argv)

qt5中,一些函式已經被取消了,而且網上很多都是不推薦這種寫法。所以當時找到的是自行轉換:

qtextcodec * bianma = qtextcodec::codecforname ( "gbk" );

qmessagebox::information(this, "提示", bianma->tounicode("中文顯示!"));

其實也可以通過qstring定義的靜態函式,先轉換成unicode型別:

qstring::fromlocal8bit("提示")

不過在qt5中,提供了乙個專門的處理巨集,來支援中文常量,那就是qstringliteral,但它只能處理常量。

qmessagebox::information(this, qstring::fromlocal8bit("提示"), qstringliteral("中文顯示"));

const char* info = "中文顯示";

//不支援

qstring strinfo = qstringliteral(info);

//支援

qstring strinfo = qstring::fromlocal8bit(info);

對於中文常量,使用qstringliteral即可解決,對於字串變數,使用qstring自帶函式也可以輕鬆解決。

Intellij IDEA 各種亂碼解決方案

出處 idea有分很多種亂碼,選單欄亂碼,console輸出中文亂碼,亂碼等等,以下提供一些解決方案。1.設定裡面的快捷鍵設定keymap出現中文,或者中文亂碼 原因 idea裡面的jdk選擇的是本地的jdk,而jdk1.5以上的版本是由多國語言的,會選擇作業系統的本地語言,所以編譯的提示就會變成中...

QT 中文亂碼的解決方案

qt creator 低版本中文亂碼的解決方案 qt 5.9版本的有個很煩人的問題,就是新建的cpp檔案格式是utf8的,但是編譯又不按utf8去讀檔案,導致中文亂碼 後面在網上一查,原來是msvc編譯器導致的問題,如果是mingw編譯器不存在這個問題 解決方案就是在pro檔案上加上這個 msvcq...

關於Qt亂碼的解釋和解決方案

先給出亂碼的解決方案 若是qt5,則在pro檔案中加入下面這段 greaterthan qt major version,4 若是qt4,則在main.cpp中加入下面這段 if qt version qt version check 5,0,0 ifdef q os linux qtextcode...