QT裡中文亂碼的處理

2021-06-13 12:04:18 字數 888 閱讀 6206

第一次學習寫qt程式,為了解決中文顯示亂碼問題,折騰了不少時間,現將最終方案記錄下。

先在main.cpp裡

#include

qtextcodec

*codec

=qtextcodec

::codecforname(

"utf-8");

qtextcodec

::setcodecfortr(codec);

qtextcodec

::setcodecforlocale(

qtextcodec

::codecforlocale());

qtextcodec

::setcodecforcstrings(

qtextcodec

::codecforlocale());

然後在相應的字串處理地方,先將要顯示的字串賦值給char*

char

szinfo[

1024

]=;

sprintf(szinfo,

"陽曆:%04d-%02d-%02d

\r\n-"

,2013,3,31);

然後將char*賦值給qstring,此時如果直接用

qstring

qsinfo;

qsinfo=

qstring

(szinfo); ui

->

labinfo

->settext(qsinfo);

那麼介面顯示出來是會亂碼的,需改為

qsinfo=

qstring

::fromutf8(szinfo);

這樣就可以顯示正確的中文了。

而且這樣在不同的windows系統下也能顯示正確。

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 ...