最近用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中遇到非英文的东西就全变成乱码了