整个QT程序为 UTF-8编码格式
局部汉字编码需要转换为GB2312格式
第一种方式:
QString prin = QString("中文");
QTextCodec *gbk = QTextCodec::codecForName("GB2312");
QTextCodec::setCodecForTr(gbk);
QTextCodec::setCodecForLocale(gbk);
QTextCodec::setCodecForCStrings(gbk);
prin=gbk->toUnicode(prin.toLocal8Bit()); //转换了编码格式
QTextCodec::setCodecForLocale(QTextCodec::codecForName("utf-8"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("utf-8"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf-8")); //转换回来
第二种方式:
QString prin = QString("中文");
qDebug() << prin;
QTextCodec *codec = QTextCodec::codecForName("GB2312");
QByteArray print = codec->fromUnicode(prin);