QT乱码问题

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;
}
发布了45 篇原创文章 · 获赞 4 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/ly1390811049/article/details/100089744