HOW TO:選取 ASP.NET Web 網頁全球化的編碼方式
更新:2007 年 11 月
從內部來看,ASP.NET Web 網頁的後置程式碼會將所有字串 (String) 資料視為 Unicode 來處理。您可以設定網頁如何對其回應進行編碼,這會在 HTTP 標頭的 Content-Type 部分設定 CharSet 屬性,如此可讓瀏覽器不需要 Meta 標記 (Tag),也不必從內容推算正確的編碼方式,即可判斷編碼方式。您也可以設定網頁如何解譯在要求中所傳送的資訊。
最後,您可以設定 ASP.NET 如何解譯網頁內容本身,也就是磁碟上實體 .aspx 檔的編碼方式。如果您設定檔案編碼方式,則所有 ASP 網頁都必須使用該編碼方式。Notepad.exe 可以儲存在目前系統 ANSI 字碼頁中以 UTF-8 或 UTF-16 (也稱為 Unicode) 編碼的檔案。ASP.NET 執行階段可以區別這三種編碼方式。實體 ASP.NET 檔的編碼方式,必須符合在檔案之 @ Page 編碼屬性中所指定的編碼方式。
注意事項: |
---|
某些設計工具 (例如 Visual Studio 2005) 可以儲存使用不同編碼方式的 .aspx 檔。 |
警告: |
---|
如果 Web 應用程式的名稱使用雙位元組字元集 (DBCS),而其不是使用者之作業系統的語言,則該名稱可能無法在使用者的電腦上正確顯示。在舊版的 Microsoft FrontPage 伺服器擴充功能上,以及 Microsoft Internet Information Services (IIS) 5.1 (含) 以前版本上,專案名稱也必須符合 Web 伺服器之作業系統的語言,才能正確顯示。 |
若要指定編碼方式
若要設定所有網頁的編碼方式,請將 Globalization 屬性加入 Web.config 檔,然後設定其 fileEncoding、requestEncoding 和 responseEncoding 屬性,如下列範例所示:
<configuration> <system.web> <globalization fileEncoding="utf-8"requestEncoding="utf-8"responseEncoding="utf-8" culture="en-US" uiCulture="de-DE" /> </system.web> </configuration>
若要設定個別網頁的編碼方式,請設定 @ Page 指示詞的 RequestEncoding 和 ResponseEncoding 屬性,如下列範例所示:
<%@ Page RequestEncoding="utf-8" ResponseEncoding="utf-8" %>
注意事項: 您無法設定 fileEncoding屬性,因為該屬性會自己套用至檔案。