共用方式為


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屬性,因為該屬性會自己套用至檔案。

請參閱

其他資源

ASP.NET 全球化和當地語系化