warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失...

问题:

Visual Studio 出现warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失。

解决方案:
1.修改字符编码格式 (推荐)
Visual Studio提供高级保存选项功能,它能指定特定代码文件的编码规范和行尾所使用的换行符。在Visual Studio 2015中,该命令没有默认显示在“文件”菜单中。用户需要手工设置,才能显示该命令。操作方法如下:

(1)单击“工具”|“自定义”命令,弹出“自定义”对话框。
(2)单击“命令”标签,进入“命令”选项卡。
(3)在“菜单栏”下拉列表中,选择“文件”选项。
(4)单击“添加命令”按钮,弹出“添加命令”对话框。
(5)在“类别”列表中,选择“文件”选项;在“命令”列表中,选择“高级保存选项”选项。
(6)单击“确定”按钮,关闭“添加命令”对话框。
(7)选中“控件”列表中的“高级保存选项”选项,单击“上移”或者“下移”按钮,调整该命令的位置。
(8)单击“关闭”按钮,完成“高级保存选项”命令的添加操作。
(9)打开“文件”菜单下的“高级保存选项”,设置编码 Unicode(utf-8带签名)- 代码页 65001 

warning C4819代码页936Unicode

昨天主管让我把VS项目里的warning给清理下,结果发现几个这样的warning:

warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失

刚用VS不久的我就在网上搜寻各种解决方案,结果都不好使,比如好多网友说:

(1)转换Code文件为Unicode格式;
 
(2)在Project -> Properties -> Configuration Properties -> C/C++ -> Advance 的 Disable Specific Warnings 中添加相应的警告编号:4819;
 
(3)或找出不符合Unicode格式的文件,然后在该文件的开始处加入下面的语句:
 
        # pragma warning (disable:4819)
 
(4)哪个文件出现这个警告错误,打开它, 用VS2010的查找替换功能,打开允许正则表达式选项,选择当前窗口,查找替换 \n 为 \n ,  然后,这个世界就清净了。原因: 查找的 \n 是跨平台的回车,替换的 \n 却是当前代码页的回车了。

(1)没有试过,(2)(3)也没试过,因为即便解决了warning,也是治标不治本,对于(4)我试了好多遍结果都是枉然~;

今天早上来到公司,继续寻找解决方案,经过其他网友提示,开始自己摸索着调试了,功夫不负有心人,最终问题被我解决了,下面是我的解决方案,给大家呈上(我用的是VS2010):

首先打开有该warning的文件,点击【文件】选【高级保存选项】,显示如下,或是其他别的编码格式,

现在开始改变编码格式为【简体中文(GB2312)- 代码页936】或【Unicode】,总之是适合自己的编码格式

点击【确定】后保存,重新编译,warning消失。

  • 17
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值