QtCreator中文乱码的解决方案

QtCreator中文乱码的解决方案

原则:QT内部统一采用Unicode编码(UTF-16)的形式进行数据存储,所以保存至QString的数据要保证按照相应的编码保存至Unicode内存中;qDebug()的时候也会统一按照Unicode的方式进行数据的输出。

1、建立Qt工程时,首先确保编辑器的编码在GBK18030的编码下;
2、用QString 保存数据,并以本地编码的方式来进行解析成Unicode,来进行测试是否读取成功:

QString tmpStr= QString::fromLocal8Bit("贤哥");
qDebug()<

3、可以通过QString->qbyearray 的方式转换成所需要的编码

QByteArray array = str.toUtf8();
qDebug()<

4、可以将数据转换成 char*

const char *arr = array.constData();

5、可以将char* 或者 qbyteArray转换成QString 来进行验证(从UTF-8转换成Unicode)

    QString str2 = QString::fromUtf8(array);
    qDebug()<<"str2 = "<

你可能感兴趣的:(QT,乱码,qt)