解决QT在VS下中文乱码的问题
我们用VS编译出来的QT程序,经常会遇见中文乱码,其实解决方法很简单:
在main函数所在文件的包含如下文件:
1 | # |
然后,在main函数的开头加入这么一句话就可以了。
1 | QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312")); |
之后在调用的时候,所有的字符串记得使用tr()函数包裹起来。比如:
1 | QMessageBox::warning(this, tr("出错啦!"), errorInfo, tr("OK")); |
这个是因为VS默认的编码是GB2312,而函数tr的作用,是将默认的字符串转换成QT内部的编码:Unicode,所以我们这里只需要设置好编码即可。
如果碰到一些2312里面没有的生僻字,我们也可以尝试使用Windows默认的多字符编码GB18030来解决。
原创文章,转载请标明出处:Soul Orbit本文链接地址:解决QT在VS下中文乱码的问题