Visual Studio新建的源文件的默认编码
原来VS新建的源文件默认的编码是根据系统locale选择的。我的是国标2312.我草。可坑死我了。一直不知道。
当时主要是需要用doxygen生成html文档,它默认的输入文件的格式是UTF-8,是不带BOM的。我就用NotePad++全部把源文件转换成UTF-8带BOM编码格式的了。然后我又一次用VS打开项目,结果编译不过,报了
warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
并且报了相关的奇怪错误。原因就是文件中有不可见的字符。(就是BOM头)。
分析下过程:
原来最原始的源文件是不带BOM头的。
后来用NotePad++ 转换成带BOM头的了。就是NotePad++ 上的UTF-8编码格式(它默认是带BOM的)
后来没转回去,使用的是带BOM的,VS的当前代码页不是带BOM的。所以直接就说有不可见的字符。所以就编译报错了。
所以。单击选择文件,在VS中的菜单栏中选择文件的高级保存选项,选择UTF-8带签名的代码页就行了。
references:
http://blog.csdn.net/enjoy517905407/article/details/37958035
Visual Studio新建的源文件的默认编码的更多相关文章
- VS2019/VS2017怎么更改visual studio新建项目的默认路径
		
1.点击“工具” 2.选择“选项” 3.点击左边的“项目和解决方案”展开选择“常规” 4.在右边- ”项目位置“来自定义默认路径 5.“确定”保存后下次新建项目就是此默认路径
 - InstallShield 创建 visual studio 工程的时候 指向 任意 visual studio 版本 方法 (修改 计算机 默认 visual studio shell 版本)
		
这需要 修改 计算机 默认 visual studio shell 版本 注册表 HKEY_CLASSES_ROOT VisualStudio.DTE 配置节点 描述的是 默认的 visual stu ...
 - Eclipse新建JSP文件的默认编码
		
默认情况下,Eclipse新建的JSP文件的编码是“ISO-8859-1”,不支持中文.需要手动修改为“UTF-8” 以下设置可使Eclipse生成的JSP文件的默认编码为“UTF-8” Window ...
 - 修改Visual Studio项目中程序集信息默认公司名称的两种方法
		
这个公司名就是安装系统时注册的单位名称.可以通过修改注册表修改 Windows 系统的注册信息,方法如下:1.在开始"运行"中输入regedit,打开注册表编辑器.2.依次展开:H ...
 - Visual Studio新建类自动添加注释
		
修改 VS中新建类的模板 如以下地址:D:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE\ItemTemplatesCache\CSha ...
 - Visual Studio的ASP.NET修改默认打开浏览器
		
1.新建web空应用程序,输入项目名称. 2.右击项目名称,添加“新建项”—一般处理程序 3.右击新建一个HTML文件,任意命名. 4.右击新建的Html文件,选择“浏览方式” 5.选择后弹出浏览器选 ...
 - Visual studio 新建网站出现序号(x)
		
参考链接: http://www.zhongdaiqi.com/vs2012-new-website-name-bug/ 现象: 分析: VS新建网站出现(1) 这个问题很神秘,把网站删除掉,再创建, ...
 - Visual Studio 新建项目报错" this template attempted to load component assembly 'NuGet.VisualStudio.Interop, ….".
		
"Error: this template attempted to load component assembly 'NuGet.VisualStudio.Interop, Version ...
 - Visual Studio Team Services使用教程--默认团队checkin权限修改
 
随机推荐
- linux if 判断字符串是否相等
			
在命令行中修改时间: 如果linux系统时间等于2017-09-09,则ok:否则将当前系统时间修改为2017-09-09 var=`date '+%Y-%m-%d'`;if [ "$var ...
 - Java字符串的最大长度
			
在cpp中为了可移植性,string的长度是string::size_type,突然就想知道java允许的最大字符串长度为多少.看String的源码: public final class Strin ...
 - 解决Item控件抢占焦点
			
http://www.imooc.com/learn/372 在抢占焦点的控件加上 方法一: android:focusable="false" 方法二: 在外界布局上 andro ...
 - Com原理及應用——Com對象和接口
			
1.COM对象的理解 COM对象类似于C++语言中类的概念,类的每个实例代表一个COM对象,它也包括属性(即状态)和方法(即操作),状态反映对象的存在,方法就是接口. 2.COM对象的标识-CLSID ...
 - uploadify上传大文件时出现404错误
			
出现这个错误的话一般是IIs限制了文件大小.IIS7下的默认设置限制了上传大小.这个时候Web.Config中的大小设置也就失效了.具体步骤:1.打开IIS管理器,找到Default Web Site ...
 - TCP/IP协议原理与应用笔记05:TCP/IP协议下的网关
			
大家都知道,从一个房间走到另一个房间,必然要经过一扇门.同样,从一个网络向另一个网络发送信息,也必须经过一道“关口”,这道关口就是网关.顾名思义,网关(Gateway)就是一个网络连接到另一个网络的& ...
 - vipw和vigr命令
			
Modifying the Configuration Files To add user accounts, it suffices that one line is added to /etc/p ...
 - css01入门小例子
			
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
 - python的数与字符串
			
双引号 c1="sldkjf"print c1c2="It's a dog"print c2 单引号c1='sldkjf'print c1c2='It" ...
 - PHP 执行系统外部命令 system() exec() passthru()
			
区别: system() 输出并返回最后一行shell结果. exec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面. passthru() 只调用命令,把命令的运 ...