天天看點

C++ vs.net設定UTF8字元

1、将main.cpp改成utf-8編碼,方法是點選main.cpp,然後選擇菜單檔案->進階儲存選項。【所有源碼都要轉換成uft-8】

2、在你的main函數裡,設定如下代碼,完美解決qt5的中文亂碼

MSC_VER是MSVC編譯器的内置宏,定義了編譯器的版本。下面是一些編譯器版本的_MSC_VER值

MS VC++ 10.0 _MSC_VER = 1600  【VC2010】

MS VC++ 9.0 _MSC_VER = 1500   【VC2008】

MS VC++ 8.0 _MSC_VER = 1400   【VC2005】

MS VC++ 7.1 _MSC_VER = 1310

MS VC++ 7.0 _MSC_VER = 1300

MS VC++ 6.0 _MSC_VER = 1200

MS VC++ 5.0 _MSC_VER = 1100

#include "testchinese2.h"  

#include <QtWidgets/QApplication>  

#include <QDebug>  

// 代碼一定要是: UTF-8(BOM)  

//qt版本高于等于qt5,VS版本高于或等于VS2010

#if _MSC_VER >= 1600  

#pragma execution_character_set("utf-8")  

#endif  

int main(int argc, char *argv[])    

{    

    QApplication a(argc, argv);    

//qt版本低于qt5

#if QT_VERSION < QT_VERSION_CHECK(5,0,0)   

//VS版本低于VS2010 

#if defined(_MSC_VER) && (_MSC_VER < 1600)    

    QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));    

#else    

    QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));    

#endif    

    TestChinese2 w;    

    w.show();    

    qDebug() << "您好,333";    

return a.exec();    

}   

C++ vs.net設定UTF8字元

繼續閱讀