std::string转QString乱码
QString::fromLocal8Bit(std::string().c_str())
QString转std::string乱码
std::string(QString().toLocal8Bit())
程序乱码
Qt5中关于中文的建议解决方案是:
1.保证源程序源码文件是UTF-8,然后用预处理命令 #pragma execution_character_set("utf-8")
2.不用保证源码文件是UTF-8,但是源文件中出现中文用QStringLiteral这个宏来包含起来,那么也不会乱码
GBK转UTF8
QString GBK2UTF8(const QByteArray &byteArray)
{
QTextCodec *gbk = QTextCodec::codecForName("gbk");
QString g2u = gbk->toUnicode(byteArray);
return g2u;
}