FIX: 文字資源中的某些字元可能無法正確顯示當您嘗試在建置在.NET Framework 2.0 的 Web 應用程式中內嵌文字資源

文章翻譯 文章翻譯
文章編號: 923707 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

徵狀

當您嘗試在建置在 Microsoft.NET Framework 2.0 的 Web 應用程式中內嵌文字資源時,文字資源中的某些字元可能無法正確顯示。當您將 PerformSubstitution 參數 WebResource 屬性的設定設 為 True 時,就會發生這個問題。

解決方案

下列檔案是可以從 Microsoft 下載中心 」 下載:

摺疊此圖像展開此圖像
Download
Download the .NET Framework 2.0 System.web.dll security update package now.如需有關如何下載 Microsoft 支援檔案的詳細資訊,按一下 [下列面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
119591如何從線上服務取得 Microsoft 的支援檔案
Microsoft 已掃描這個檔案有無病毒。Microsoft 使用已張貼檔案的日期中的 [可用的最新病毒偵測軟體。檔案儲存在安全性強化的伺服器上,協助防止未經授權的任何變更的檔案。

附註這個更新可以解決使用下列的編碼方式的文字檔案的問題:
  • UTF-8 編碼方式
  • 其他使用位元組順序的 Unicode 編碼方式將標記 (BOM),且.NET Framework 2.0 受到支援。
這個更新不能解決並不會使用如 Windows-1252 BOM 一個案例使用的編碼方式會編碼文字資源。我們建議您執行不使用這種編碼方式因為瀏覽器必須再猜測會使用該編碼方式。因此,結果可以是無法預期的。

狀況說明

Microsoft 已確認這是在 < 適用於 > 一節中所列出的 Microsoft 產品中有錯誤。

其他相關資訊

如需詳細資訊,請按一下下列的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
922770MS06-056: 在 ASP.NET 2.0 中的弱點可能會允許資訊洩漏

如果要重現問題的步驟

  1. 若要將文字資源內嵌在應用程式,新增程式碼該 resembes
    using System;
    using System.Collections.Generic;
    using System.Text;
    
    using System.Web.UI;
    using System.Net.Mime;
    
    [assembly: WebResource("CLResources.TextFile-Unicode.txt", MediaTypeNames.Text.Plain, PerformSubstitution = true)]
    [assembly: WebResource("CLResources.TextFile-UTF8-Signed.txt", MediaTypeNames.Text.Plain, PerformSubstitution = true)]
    [assembly: WebResource("CLResources.TextFile-Windows1252.txt", MediaTypeNames.Text.Plain, PerformSubstitution = true)]
    
    namespace CLResources
    {
        public class Class1
        {
        }
    }
    
    在下列程式碼範例。
  2. 若要使用 [應用程式中的 [資源],新增程式碼該 resembes
    public partial class _Default : System.Web.UI.Page 
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            HyperLinkUnicode.NavigateUrl = this.Page.ClientScript.GetWebResourceUrl(typeof(CLResources.Class1), "CLResources.TextFile-Unicode.txt");
            HyperLinkUtf8.NavigateUrl = this.Page.ClientScript.GetWebResourceUrl(typeof(CLResources.Class1), "CLResources.TextFile-UTF8-Signed.txt");
            HyperLinkWindows1252.NavigateUrl = this.Page.ClientScript.GetWebResourceUrl(typeof(CLResources.Class1), "CLResources.TextFile-Windows1252.txt");
            
        }
    }
    
    在下列程式碼範例。
  3. 執行應用程式。

屬性

文章編號: 923707 - 上次校閱: 2007年12月3日 - 版次: 1.1
這篇文章中的資訊適用於:
  • Microsoft .NET Framework 2.0
關鍵字:?
kbmt kbdisplay kbstring kbresource kbqfe kbfix KB923707 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:923707
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com