最近用Qt + VS2008 來寫點程序,但會有中文亂碼現像,需要加上如下代碼解決
#include "myclass.h" #include <QtGui/QApplication> #include <QTextCodec> int main(int argc, char *argv[]) { QApplication a(argc, argv); QTextCodec *codec = QTextCodec::codecForName("gbk"); //window平台上是gbk,平台不同,設置不同
//實測,另外使用cp936或gb2312都可以 QTextCodec::setCodecForLocale(codec); QTextCodec::setCodecForCStrings(codec); QTextCodec::setCodecForTr(codec); a.setStyle("plastique"); MyClass w; w.show(); return a.exec(); }
盡量把源代碼保存成ANSI文本格式(VS2008對UTF-8不怎么感冒),如果是用QtCreator創建的默認的會是UTF-8的文本格式,在配置環境中改一下,不然的話進入QtCreator中遇到非英文的東西就全變成亂碼了