嵌入式Linux Qt4 中文显示乱码和中文不显示

2019-07-13 05:07发布

中文一直是个头疼的问题
如果是乱码,首先要
QTextCodec::setCodecForTr(QTextCodec::codecForName("gb2312"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("gb2312"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("gb2312"));
测试用
QMessageBox::critical(NULL, QObject::tr("Collection"), QObject::tr("真麻烦 sucess "));

gb2312 换成 utf8 换成 gbk,多试几次

要是中文不显示,英文显示出来了,可能是因为没有中文字体
去windows下找一个字体拷贝到板子上去,我选了simsun.ttc
即你的qt启动时设置的环境变量 QT_QWS_FONTDIR 指定的目录
再在目录下创建一个fontdir文本文件,写入
simsun simsun.ttc TTC n 50 120 u
QTranslator translator( 0 );
translator.load( "zh_CN", "." );
app.installTranslator( &translator );