warning C4819 的解决方法

编译VC++程序的时候出现如下提示警告:

warning C4819: The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss

因为只是一个warning,不影响正常编译,所以并没有引起大家多大的关注。我一开始的时候也是如此。但是后来出现的次数多了,发现这个警告和在程序Debug的时候
无法停在断点,刷刷刷就过去了根本无法进行Debug。而罪魁祸首就是这个warning,改正了这个warning就能进行Debug了。

下面讲述我是怎么消除这个警告的。

这个警告的意思是:在该文件中有一个或多个字符不是Unicode字符!要求把这个字符变成Unicode字符。

难题:在编译信息里并没有提示是哪个字符,或者是在哪一行里出现的该字符。查找起来非常的难,甚至是不可能的任务!

我在网络上找了好多资料都没有找到解决方法。因为大家都不注意这个不影响编译的警告。后来在一个国外的网站上找到了解决的方法。很简单,这个方法根本不需要知道具体是哪个字符在捣鬼!

解决方法:打开出现warning的文件,Ctrl+A全选,然后在文件菜单:file->advanced save options ,在弹出的选项中选择新的编码方式为:UNICODE codepage 1200 ,点击确定,问题就解决了。

[ZT]去掉VC2005中烦人的C4819警告

这个警告虽然没有什么影响,但是非常讨厌。去掉这个警告的方法有以下几种:

(1)转换Code文件为Unicode格式;

(2)在“项目”-> “属性” -> “配置属性” -> “C/C++” -> “高级”的“禁用特定警告”中添加相应的警告编号:4819;

(3)找出非Unicode格式的文件,然后在该文件的开始处加入下面的语句:

# pragma warning (disable:4819)

(4)打开出现这个警告的文件, 用VS2005的“查找替换”功能,打开“允许正则表达式”选项,选择“当前窗口”,查找替换 /n 为 /n ,  然后整个世界就清净了。(查找的 /n 是跨平台的回车,替换的 /n 却是当前代码页的回车了)

时间: 2024-11-08 21:39:48

warning C4819 的解决方法的相关文章

QtCreator (Visual C++ 编译器)编译时提示 warning C4819 的解决办法

用 QtCreator + Visual C++ 编译器 编译程序时经常会出现类似的警告. warning C4819: 该文件包含不能在当前代码页(936)中表示的字符.请将该文件保存为 Unicode 格式以防止数据丢失 这个警告我们可以忽略,但是编译大一点的项目时经常会提示几十个这样的警告,也挺烦人的. 其实解决办法也很简单,将我们的代码保存为 utf-8 带 BOM 格式的文件就可以了.QtCreator 保存文件默认是 utf-8 格式的,但是不带 BOM. 我们可以修改一下设置,让它

[转]编译VC++程序warning C4819快速解决

文章来自:http://www.cppblog.com/API/archive/2012/11/12/195056.aspx 编译VC++程序的时候出现如下提示警告: warning C4819: The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss 因为只是一个war

VS C4819 编译错误解决方法

偶尔用别人的代码,出现: warning C4819: The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss 百度基本的推荐做法是将文件修改编码另存为一下.有时很好奇究竟是声明字符导致该错误,直接删掉就不可以了. 这里提供另一种方法,看图: 我这里完美解决,删除之,警告

VC2005 warning C4819 消除方法

一. Warning C4819:The file contains a character that can ot be represented in the current code page(936). save the file in unicode format to prevent data loss. 中文意思是:该文件包含不能在当前代码页中表示的字符,请将文件保存为Unicode格式,以防止数据丢失. 一般来说,这个警告没有什么影响.要想去掉这个警告的方法有: (1)转换Code

PHP错误Warning: Cannot modify header information - headers already sent by解决方法

这篇文章主要介绍了PHP错误Warning: Cannot modify header information - headers already sent by解决方法,需要的朋友可以参考下 今天在测试以下代码时遇到该错误: 复制代码代码如下: session_start();$_SESSION['username']=$username;echo "<script language='javascript'>location.href='../admin.php';</sc

PHP Warning: Module &#39;modulename&#39; already loaded in Unknown on line 0 的解决方法

今天无间断服务加载php-fpm时,爆出了一个错误:PHP Warning:  Module 'xhprof' already loaded in Unknown on line 0 <br /> 从英文可以看出PHP的扩展xhprof已经加载了,所以就查看php.ini,搜索xhprof.so发现有两个,删除其中一个,然后无间断服务加载php-fpm就解决了该问题. PHP Warning: Module 'modulename' already loaded in Unknown on l

warning: refname &#39;HEAD&#39; is ambiguous解决方法

问题: 在提交代码时如出现:warning: refname 'HEAD' is ambiguous 解决方法: 1 2 3 warning: refname 'HEAD' is ambiguous解决方法

ssh连接的时候出现 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @解决方法

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!Someone could be eav

一些常见warning的原因和解决方法

在入职三周后,终于赶齐了接手项目落下两个月的项目,有了一些自己的空闲时间对项目进行整理.主要整理包括类目的整合,从原来一个系统文件夹下几百个文件整改为以MVC设计思想为原则的分文件夹整理类目,井然有序了很多,也不需要再用查找关键字来寻找想要找的类了,中间因为类目文件位置的修改而出现了很多问题.其次还包括一些代码的整合,包括一些多个类中都需要使用的代码,我们可以创建一个工具类来封装调用,或者使用一个根类来集成代码. 在做完了以上工作后,我又把关注重点放在了150多个warning之上.作为一个强迫