0

我真的被卡住了。我正在使用ASP.NET創建一個html片段的集成項目。該片段將作爲另一個網站的一部分提供。 html片段是使用一個簡單的ASP.NET頁面創建的,文件後面有一個最小的代碼。刪除asp.net頁面上的字節順序標記

包含此HTML片段的Te站點正在運行PHP。那裏的開發人員抱怨我的代碼發送字節順序標記作爲html片段的一部分,這使他的生活變得艱難。

我正在使用Visual Studio 2010進行開發。我已經將相關的aspx和aspx.cs文件保存爲UTF-8,無需簽名。但是,這似乎沒有什麼區別,現在我幾乎沒有想法。網站的其餘部分設置爲使用UTF-8作爲標準(在web.config中定義)。

我應該在哪裏改變我的aspx文件的BOM行爲?

+1

你不說如何將html片段保存並傳輸到php站點。如果您在代碼中創建這些片段,那麼您的aspx文件保存的方式與此無關。 –

+0

我的片段被保存在一個aspx文件中,並作爲正常的html使用,所以任何人都可以從瀏覽器訪問它(但它不是有效的html)。 PHP網站正在後端導入這些內容,並將片段注入到它自己的渲染輸出流中。雖然我沒有做導入工作,但我確信這只是對我的服務器的普通HTTP調用。 –

回答

2

如果您在Visual Studio中保存文件,我相信它會不斷添加BOM。您需要使用其他編輯器才能刪除NotePad ++等標記。

實際上,在Visual Studio中的高級另存爲對話框中,還有一個選項可以保存沒有簽名的UTF-8。你試過這個嗎?

這在this question確認。

+0

正如我所提到的,我在Visual Studio 2010中保存爲沒有簽名的UTF-8。我正在使用高級保存選項來執行此操作。 –

+0

我注意到notepad ++無法識別visual studio中的編碼,如果使用diff編輯器會發生什麼情況?另外,您如何提供文件,您需要更改片段以及通過其提供服務的任何文件(如ASPX)。 – TheCodeKing

+0

其實我注意到,無論是Visual Studio 2010還是Notepad ++,都沒有將標識文件識別爲除ANSI之外的其他任何文件,一旦保存爲UTF-8而沒有簽名。我在想這是一個錯誤? ASPX文件直接從Web服務器訪問。文件後面的代碼也保存爲UTF-8,無需簽名。 –

0

您還可以使用普通的舊NotePad以不同的編碼進行保存。

另存爲...編碼DropDown。

+0

我非常確定,我已經配置了Visual Studio 2010,以正確的方式將文件保存爲UTF-8而無需簽名。 –