作者:非妃是公主
专栏:《C++》
个性签:顺境不惰,逆境不馁,以心制境,万事可成。——曾国藩
VS2019具有较好的调试性能,但是对于Qt的编码兼容性不佳。尤其是对于中文的支持,通过下面代码,可以使得VS2019+qt支持中文。
在所有头文件开头加上一行代码,设置设置字符集为“utf-8”即可解决问题:
#pragma execution_character_set("utf-8")
如下图:
加完之后发现代码就可以正常显示了。
下面来分析一下产生这个错误的原因:
- Qt creator是跨平台的,所以编码格式默认为utf-8格式,utf-8编码无论在windows还是在linux下都可以正常显示中文。
- 但是VS不是跨平台的,VS是windows下的原生IDE,windows的系统编码为GBK格式,这就导致按照utf-8编码,gbk来解码(VS打开Qt creator编写的文件)或者按照gbk来编码,utf-8来解码(Qt creator打开VS编写的文件)两种情况,出现中文乱码情况。
- 如何解决呢?统一编码,在VS里将编码改成utf-8的或者在Qt creator中将编码改成gbk都可以,本文采用了将VS中编码改为utf-8。