删除asp.net页上的字节顺序标记

删除asp.net页上的字节顺序标记,asp.net,visual-studio-2010,character-encoding,byte-order-mark,Asp.net,Visual Studio 2010,Character Encoding,Byte Order Mark,我真的卡住了。我正在做一个集成项目,我正在使用ASP.NET创建一个html片段。此片段将作为另一个站点的一部分包含。html片段是使用一个简单的ASP.NET页面和一个最小的代码隐藏文件创建的 包含此html片段的Te站点正在运行PHP。那里的开发人员抱怨说,我的代码将字节顺序标记作为html片段的一部分发送,这使他的生活变得困难 我正在使用VisualStudio2010进行开发。我已将相关的aspx和aspx.cs文件保存为UTF-8,无需签名。然而,这似乎没有什么不同,现在我几乎没有想法

我真的卡住了。我正在做一个集成项目,我正在使用ASP.NET创建一个html片段。此片段将作为另一个站点的一部分包含。html片段是使用一个简单的ASP.NET页面和一个最小的代码隐藏文件创建的

包含此html片段的Te站点正在运行PHP。那里的开发人员抱怨说,我的代码将字节顺序标记作为html片段的一部分发送,这使他的生活变得困难

我正在使用VisualStudio2010进行开发。我已将相关的aspx和aspx.cs文件保存为UTF-8,无需签名。然而,这似乎没有什么不同,现在我几乎没有想法了。站点的其余部分设置为使用UTF-8作为标准(在web.config中定义)


我应该在哪里更改我的aspx文件的BOM行为?

如果在Visual Studio中保存该文件,我相信它会继续添加BOM。您需要使用不同的编辑器来删除标记,如记事本++

实际上,在VisualStudio中的“高级另存为”对话框中,还有一个不带签名保存UTF-8的选项。你试过这个吗


已在中确认。

您也可以使用普通旧记事本以不同的编码进行保存


另存为…编码下拉列表。

您不会说html片段是如何保存并传输到php站点的。如果在代码中创建这些片段,则保存aspx文件的方式与此无关。我的片段保存在aspx文件中,并作为普通html提供,因此任何人都可以从浏览器访问它(但它不是有效的html)。php站点在后端导入此内容,并将片段注入到自己的呈现输出流中。虽然我没有做导入工作,但我很确定这只是对我的服务器的一个普通HTTP调用。正如我所提到的,我在Visual Studio 2010中保存为UTF-8,没有签名。我正在使用高级保存选项来执行此操作。我注意到notepad++无法识别visual studio中的编码,如果使用差异编辑器会发生什么?另外,您是如何为文件提供服务的,您需要更改片段以及通过它提供服务的任何文件,如ASPX。实际上,我注意到,Visual Studio 2010或Notepad++似乎都无法识别这些文件,而不是ANSI文件,一旦保存为UTF-8而没有签名。我想这是一只虫子?可以直接从web服务器访问ASPX文件。代码隐藏文件也保存为UTF-8,没有签名。我想可能是这样的,如果我在notepad++中保存没有BOM的文件,然后再在VS(没有sig)中保存,那么它就可以工作了。如果我先在VS中保存时没有BOM,则记事本++无法识别编码。我非常确定我已将Visual Studio 2010配置为正确地将文件保存为UTF-8而不带签名。