2011-12-09 60 views
0

當我在.aspx頁面中放置這個詞「Biblioth & egrave; que」時,我正確地看到它「Bibliothèque」。字符集不能在.html中工作,但不能.aspx

如果我把同一個詞在一個.html文件,我看「Bibliothèque」

這怎麼可能呢?必須是IIS問題,但我無法找到該設置。

.aspx文件如何顯示正確的單詞而不是.html文件。

+3

什麼元標籤爲每個出現?每個HTTP頭是什麼? – Oded

+0

@Oded - 我認爲你的編輯是誤導性的,應該回滾。你已經在這個問題上使用了嚴肅的口音,而問題恰恰在於字符沒有被正確編碼的事實。只有當我看到原來的問題時,我才明白這個問題。 –

+0

編輯錯誤是因爲HTML文件包含è –

回答

0

在ASP.NET項目中打開名爲web.config的文件。全球化元素中的requestEncoding屬性值爲「utf-8」。這意味着請求的文本被編碼爲UTF-8字符集。

請檢查您的瀏覽器它的支持。你可以使用字符編碼來改變它。所以你的HTML根據瀏覽器字符編碼給你結果。

0

爲確保它始終能夠正常工作,對於此特定示例,您可以使用Html entities替換非ASCII字符,如下所示:Bibliothèque。但總體來說這並不總是實際可行的。

否則,還有其他各種方式,使其工作:

  • 使用byte order mark encoding(有時也被稱爲「簽名」,或者BOM,由編輯)和將文件保存爲UTF-8
  • 添加META character encoding添加到您的html文件。
  • 定義什麼HTTP標頭將被髮送到使用globalization元件在應用程序的web.config(的ResponseEncoding等),客戶端
  • 定義什麼HTTP標頭將被髮送到所述客戶端使用ASP.NET @page directive

最好的是確保所有這些在您的應用程序中是一致的。 UTF-8支持現在非常普遍,因此作爲編碼是一個不錯的選擇。

關於編碼主題的一篇有趣的文章:The Definitive Guide to Web Character Encoding