【转】warning C4819,该文件保存为 Unicode 格式以防止数据丢失,处理方法

时间:2024-03-26 14:06:32
以下的解决方案只是把错误给屏蔽掉而已,并不能真正解决这个警告。仅供参考!
当项目引用到外部源代码后,经常出现4819错误,警告信息如下:

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

通常的方法是在编译选项中去加个选项,方法如下:

配置属性--c++--命令行 加上 /wd4819

在Project -> Properties -> Configuration Properties -> C/C++ -> Advance 的 Disable Specific Warnings 中添加相应的警告编号:4819;

但这并不表示错误不存在,还是将代码转换一下的好。

如果一个文件出现这个情况则:

哪个文件出现这个警告错误,打开它,用VS2008的查找替换功能,打开允许正则表达式选项,选择当前窗口,查找替换 /n 为 /n , 然后,这个世界就清净了。

如果多个文件,则可以在替换时选择整个工程文件就可以了,系统会自动替所有引用到的文件。

为什么呢?原来查找的 /n 是跨平台的回车,替换的 /n 却是当前代码页的回车了。