qt对中文的支持一直不是很好,尤其是VS+qt插件,在qt creator里还勉强可以运行,但是在VS中就会出现乱码!如何解决呢?
下面展示一些 内联代码片
。
网上有很多博客提供相关解决方案,但是笔者亲自尝试发现版本有所更新,许多解决方法已经不再适用,经过探索后,将自己总结的方法放在此处供大家参考
以下几行代码轻松解决:
分别包括string类型
//1、当前类型为string类型
str="你好";
QByteArray qba = QByteArray::fromStdString(str);
QString q_str = QString::fromLocal8Bit(qba);
//2、当前类型为QString类型时
QByteArray qba("你好!");
QString q_str = QString::fromLocal8Bit(qba);
其实原理也很简单,就是先将字符串转化为二进制流,然后转化为不同的编码进行显示!当然,借住了QByteArray这个类!