最近在學習Qt,可是一直頭疼於中文亂碼問題,上網搜了一下,很多都是Qt4中使用如下方法:
QTextCodec *codec = QTextCodec::codecForName("gbk"); QTextCodec::setCodecForLocale(codec); QTextCodec::setCodecForCStrings(codec); QTextCodec::setCodecForTr(codec);
但是在Qt5中該函數已經被KO了。沒辦法,慢慢找,終於在貼吧里找到幾種比較實用的方法。
1.最直接最有效的方法:
在Qt的安裝路徑找到bin目錄,搜索include文件夾,找到qglobal.h頭文件,在其中加入以下代碼:
#if _MSC_VER >= 1600
#pragma execution_character_set("utf-8")
#endif
這樣就可以解決所有中文顯示亂碼問題。注意文件也要保存為utf-8!!
2. 直接使用函數QStringLiteral("我是中文");也可以解中文亂碼問題,但是個人認為還是很麻煩。
以上方法均在QtCreator中試驗成功。
最后感嘆一下,自古貼吧出才子啊!!!
