示例程序:
#include<QtGui/QApplication>
#include<QtGui/QWidget>
#include<QtGui/QLabel>
#include<QtCore/QTextCodec>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QTextCodec::setCodecForTr(QTextCodec::codecForName("gb18030"));
QWidget* pWidget=new QWidget;
QLabel label(pWidget);
label.setText(QObject::tr("同一个世界,同一个梦想!"));
pWidget->show();
return app.exec();
}
运行结果:
解决方法一:
修改项目配置
结果:
无效,仍然乱码。
解决方法2:
添加代码:
#pragma execution_character_set("utf-8")
结果:
解决方法有效。
试了一下解决方法一的不同配置中,添加方法二中的代码是否有效。
结果有效。
解决方法3:在工具里修改配置,方法如下:
工具->选项->文本编辑器->Behavior:
结果:
有效,去掉方法二中的代码仍然有效。
结论:修改工具里的配置最省心,一劳永逸。