qstring亂碼 qt4 QT4 5 1中文亂碼

2021-10-13 13:31:51 字數 1069 閱讀 8421

開始看蔡志明等編寫的《精通qt4程式設計》一書,第乙個例子就出現了問題,例子執行結果如下:

其源**為:

#include #include #include #include #include #include int main(int argc, char* ar**)

qtextcodec::setcodecfortr(qtextcodec::codecforname("gb18030"));

qwidget* pwidget = new qwidget;

qlabel label(pwidget);

label.settext(qobject::tr("同乙個世界,同乙個夢想!"));

qpushbutton* btn = new qpushbutton(qobject::tr("關閉"), pwidget);

qvboxlayout* layout = new qvboxlayout;

layout->addwidget(&label);

layout->addwidget(btn);

pwidget->setlayout(layout);

qobject::connect(btn, signal(clicked()), pwidget, slot(close()));

pwidget->show();

經過不停的查資料,終於找到解決的方法了:

方法一:

將這行**:

label.settext(qobject::tr("同乙個世界,同乙個夢想!"));

修改為:

label.settext(qstring::fromutf8("同乙個世界,同乙個夢想!"));

結果顯示就對了!

方法二:

將這行**:

qtextcodec::setcodecfortr(qtextcodec::codecforname("gb18030"));

修改為:

qtextcodec::setcodecfortr(qtextcodec::codecforname("utf8"));

結果就對了!

這兩種方法,都是使用了utf8字符集!

Qt4 Qt5等Qt版本解決中文亂碼問題

在網上找了很長時間,大部分都是其他人瞎折騰 的,很多都不行,實用性很低,現在寫的這個總結也是在網上找了很久總結出來的,經本人在qt4.5和qt5.3上面測試確實可行 我們都是中國人,很多標題用的都是中文,所以直接在main函式中定義如下 qtextcodec setcodecforcstrings ...

Qt使用Log4Qt寫日誌

log4qt 是apache log4j 的qt移植版 官網 首先初始化log4qt,設定配置檔案和訊息繫結 log4qt propertyconfigurator configure qtlog4qt.conf log4qt logmanager sethandleqtmessages true ...

qt 中文亂碼 Qt中文亂碼問題

接觸了qt,由於習慣中vs,如果使用vs寫qt 剛接觸很快就發現有中文亂碼問題,我的解決方法如下 新建乙個標頭檔案,比如qtchcharset.h,標頭檔案中內容如下 pragma once ifdef q os win q os win 新增後支援gb2312,utf 8 bom,unicode ...