close
對於從原本資料庫中所儲存的檔案路徑 若要作存取動作,往往因為語系問題 中文部份會產生亂碼。
 
經由查詢網路上資料與許多前輩的經驗得知。

MSDN 的 說明文件內容有提到-->ASP.NET 在回應 HTTP 標頭的時候預設編碼是用 System.Text.UTF8Encoding 類別,但是 IE 瀏覽器無法正確解析 UTF-8 的 HTTP Header,因為 IE 瀏覽器在繁體中文的作業系統下可以支援的編碼是 Big5。但是設定了 Big5 編碼後,中國大陸簡體中文的用戶又無法下載了,或是下載後檔名一樣變成亂碼。

因此又再查詢了相關  HttpUtility類別後,採用其中的HtmlEncode方法,輔以將HyperLinkField轉換成TemplateField。在原始檔中加入以下文字,就正常顯示中文字了。HtmlEncode(Object):將物件的字串表示轉換為 HTML 編碼字串,並傳回編碼的字串。

<asp:TemplateField HeaderText="檔案名稱">
                    <ItemTemplate>
                    <a href='<%#HttpUtility.HtmlEncode(Eval("file_url"))%>'><%#Eval("file_name")%></a>
                    </ItemTemplate>
</asp:TemplateField>

arrow
arrow
    全站熱搜

    就是要紅 發表在 痞客邦 留言(1) 人氣()