当项目引用到外部源代码后,经常出现4819错误,警告信息如下:
warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失.
通常的方法是在编译选项中去加个选项,方法如下:
配置属性--c++--命令行 加上 /wd4819
在Project -> Properties -> Configuration Properties -> C/C++ -> Advance 的 Disable Specific Warnings 中添加相应的警告编号:4819;
但这并不表示错误不存在,还是将代码转换一下的好,如果一个文件出现这个情况则:
哪个文件出现这个警告错误,打开它,用VS2008的查找替换功能,打开允许正则表达式选项,选择当前窗口,查找替换 /n 为 /n , 然后,这个世界就清净了。
如果多个文件,则可以在替换时选择整个工程文件就可以了,系统会自动替所有引用到的文件。
为什么呢?原来查找的 /n 是跨平台的回车,替换的 /n 却是当前代码页的回车了。
解决4819错误
本文介绍了如何解决项目中常见的4819错误——文件包含无法在当前代码页表示的字符。提供了两种方法:一是通过编译选项禁用警告;二是通过替换文件中的/n为/n来修正根本问题。
2940

被折叠的 条评论
为什么被折叠?



