2020-09-10 Warning C4819: 该文件包含不能在当前代码页(936)中表示的字符(QT, VS 2015+)

Qt+Visual studio: C4819: 该文件包含不能在当前代码页(936)中表示的字符。

最近用到QT 5.9.9+Visual Studio环境。在Visual Studio(2015,2017,2019)中编译,输出大量的警告:

    C4819: 该文件包含不能在当前代码页(936)中表示的字符。

 

网上找了一些解决方法都不满意,经过实验结论如下:

把所有文件保存为UTF8+BOM即可。

保存方法:

 用notepad, 另存为选择"utf8"

2020-09-10 Warning C4819: 该文件包含不能在当前代码页(936)中表示的字符(QT, VS 2015+)

 

用notepad++, 转换编码。

2020-09-10 Warning C4819: 该文件包含不能在当前代码页(936)中表示的字符(QT, VS 2015+)

其他有类似功能的问本编辑器。

如果是在liunx环境下转换,iconv命令应该可以,具体命令细节不记得了。

 

修改QT Creator的设置

我们的工作方式是主要在qt creator上编码,所以有必要设置qt creator, 让它新生成文件都用utf8+bom

2020-09-10 Warning C4819: 该文件包含不能在当前代码页(936)中表示的字符(QT, VS 2015+)