VS项目经常会出现 warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
的警告,虽然不影响程序的正常运行,但是我们还是要学会消除这个问题。
网上的方法很多,主要有如下4种:
- 转换Code文件为Unicode格式;
- 在Project -> Properties -> Configuration Properties -> C/C++ -> Advance 的 Disable Specific Warnings 中添加相应的警告编号:4819;
- 或找出不符合Unicode格式的文件,然后在该文件的开始处加入下面的语句:
# pragma warning (disable:4819)- 哪个文件出现这个警告错误,打开它, 用VS2010的查找替换功能,打开允许正则表达式选项,选择当前窗口,查找替换 \n 为 \n , 然后,这个世界就清净了。原因: 查找的 \n 是跨平台的回车,替换的 \n 却是当前代码页的回车了。
But,一般人是通过“高级保存选项”
命令消除的方法:
- 首先打开有该warning的文件,一般可以在外部依赖项中找到相应的warning文件
- 点击【文件】选【高级保存选项】,将其编码格式旋成别的编码格式,一般改变编码格式为【简体中文(GB2312)- 代码页936】或【Unicode-代码页1200】,总之是适合自己的编码格式
- 点击【确定】后保存,重新编译,warning消失。
但是,VS2017隐藏了“高级保存选项”命令,如要显示方法如下:
(1)单击“工具”|“自定义”命令,弹出“自定义”对话框。
(2)单击“命令”标签,进入“命令”选项卡。
(3)在“菜单栏”下拉列表中,选择“文件”选项。
(4)单击“添加命令”按钮,弹出“添加命令”对话框。
(5)在“类别”列表中,选择“文件”选项;在“命令”列表中,选择“高级保存选项”选项。
(6)单击“确定”按钮,关闭“添加命令”对话框。
(7)选中“控件”列表中的“高级保存选项”选项,单击“上移”或者“下移”按钮,调整该命令的位置。
(8)单击“关闭”按钮,完成“高级保存选项”命令的添加操作。