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格式的文件,然后在该文件的开始处加入下面的语句:
(4)哪个文件出现这个警告错误,打开它, 用VS2010的查找替换功能,打开允许正则表达式选项,选择当前窗口,查找替换 \n 为 \n , 然后,这个世界就清净了。原因: 查找的 \n 是跨平台的回车,替换的 \n 却是当前代码页的回车了。
(1)没有试过,(2)(3)也没试过,因为即便解决了warning,也是治标不治本,对于(4)我试了好多遍结果都是枉然~;
今天早上来到公司,继续寻找解决方案,经过其他网友提示,开始自己摸索着调试了,功夫不负有心人,最终问题被我解决了,下面是我的解决方案,给大家呈上(我用的是VS2010):
首先打开有该warning的文件,点击【文件】选【高级保存选项】,显示如下,或是其他别的编码格式,
,
现在开始改变编码格式为【简体中文(GB2312)- 代码页936】或【Unicode】,总之是适合自己的编码格式
点击【确定】后保存,重新编译,warning消失。
到这里相信问题已经解决,祝君好运!