第一次學習寫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 ...