Qt5中文乱码及qDebug()无乱码输出中文

weednoah

关注

阅读 157

2022-04-04

//QT默认为UTF-8编码
int main(int argc, char *argv[])
{
//在Qt程序中出现latin1字符集以外的字符集,我们会立刻马上想到QTextCodec。                   QTextCodec *codec = QTextCodec::codecForName("UTF-8");//"UTF-8","GBK","GB2312"           
QTextCodec::setCodecForLocale(codec);
QApplication a(argc, argv);    

QString Str="8中文";
QTextCodec *mTextCodec = QTextCodec::codecForName("GBK");
qDebug() << mTextCodec->toUnicode(Str.toUtf8()).toStdString().c_str(); 
qDebug() << mTextCodec->toUnicode("8中文").toStdString().c_str();
MainWindow w;   
a.setQuitOnLastWindowClosed(true);    
w.setWindowState(Qt::WindowMaximized);     
w.show();   
return a.exec();
}

精彩评论(0)

0 0 举报