主頁 > 知識庫 > Asp.net中Response.Charset與Response.ContentEncoding區(qū)別示例分析

Asp.net中Response.Charset與Response.ContentEncoding區(qū)別示例分析

熱門標簽:400電話如何申請取消 昆明語音電銷機器人價格 浦發(fā)電話機器人提醒還款 太原400電話上門辦理 柳州電銷機器人公司 電銷語音機器人型號參數(shù) 百度地圖怎樣做地圖標注 征途美甲店地圖標注 騰訊地圖標注手機

本文以示例形式分析了Asp.net中Response.Charset與Response.ContentEncoding的區(qū)別,分享給大家供大家參考。具體如下:

1.Response.Charset 
ASP.NET 中示例:

%@ Page CodePage=936 %>

CodePage 告訴 IIS 按什么編碼來讀取 QueryString,按什么編碼轉(zhuǎn)換數(shù)據(jù)庫中的內(nèi)容……

2.Response.ContentEncoding

獲取或設(shè)置輸出流的 HTTP 字符集。

Response.Charset

獲取或設(shè)置輸出流的 HTTP 字符集。微軟對 ContentEncoding、Charset 的解釋是一字不差,其實可以這樣理解:ContentEncoding 是標識這個內(nèi)容是什么編碼的,而 Charset 是告訴客戶端怎么顯示的。

我們可以做一個示例來理解:

示例1.

Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
Response.Charset = "utf-8"; 
Response.Write("腳本之家");

然后用瀏覽器打開網(wǎng)頁,可以發(fā)現(xiàn)是亂碼,可是用記事本查看源文件,又發(fā)現(xiàn)不是亂碼。這就說明了:ContentEncoding 是管字節(jié)流到文本的,而 Charset 是管在瀏覽器中顯示的。

示例2.

Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");

通過 Fidller,發(fā)現(xiàn) HTTP 頭中是:text/html; charset=gb2312。說明沒有指定 Charset 時,就用 ContentEncoding 的 Charset 作為 charset。

示例3.

Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
Response.Charset = "123-8";

HTTP 頭中是:text/html; charset=123-8。網(wǎng)頁顯示正常,說明如果 charset 錯誤,仍然以 ContentEncoding 的 Charset 作為 charset。

示例4.

Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
Response.Charset = "";

HTTP 頭中是:text/html;。HTTP 頭中沒有 charset,網(wǎng)頁顯示正常,說明 HTTP 頭中沒有 charset,仍然以 ContentEncoding 的 Charset 作為 charset。

補充:

一.Response.ContentType

獲取或設(shè)置輸出流中 HTTP 的 MIME 類型,比如:text/xml、text/html、application/ms-word。瀏覽器根據(jù)不同的內(nèi)容啟用不同的引擎,比如 IE6 及以上版本中就會自動將 XML 做成樹狀顯示。

meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

這是 HTML 中的標簽,不能用在 XML、JS 等文件中,它是告訴瀏覽器網(wǎng)頁的 MIME、字符集。當前面的相關(guān)內(nèi)容沒有指定時,瀏覽器通過此來判斷。

二.使用流形成一個word文件例子

protected void btnResponseWord_Click(object sender, EventArgs e)
{
    Response.Clear(); //清空無關(guān)信息
    Response.Buffer= true; //完成整個響應(yīng)后再發(fā)送
    Response.Charset = "GB2312";//設(shè)置輸出流的字符集-中文
 Response.AppendHeader("Content-Disposition","attachment;filename=Report.doc");//追加頭信息
    Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");//設(shè)置輸出流的字符集
    Response.ContentType = "application/ms-word ";//輸出流的MIME類型
    Response.Write(TextBox1.Text);
    Response.End();//停止輸出
}

三.Response.AppendHeader使用

@文件下載,指定默認名

Response.AddHeader("content-type","application/x-msdownload");
Response.AddHeader("Content-Disposition","attachment;filename=要下載的文件名.rar");

@刷新頁面

Response.AddHeader "REFRESH", "60;URL=newpath/newpage.asp"

這等同于客戶機端META>元素:

META HTTP-EQUIV="REFRESH", "60;URL=newpath/newpage.asp"

@頁面轉(zhuǎn)向

Response.Status = "302 Object Moved"
Response.Addheader "Location", "newpath/newpage.asp"

這等同于使用Response.Redirect方法:

Response.Redirect "newpath/newpage.asp"

@強制瀏覽器顯示一個用戶名/口令對話框

Response.Status= "401 Unauthorized"
Response.Addheader "WWW-Authenticate", "BASIC"

強制瀏覽器顯示一個用戶名/口令對話框,然后使用BASIC驗證把它們發(fā)送回服務(wù)器(將在本書后續(xù)部分看到驗證方法)。
@如何讓網(wǎng)頁不緩沖

Response.Expires = 0
Response.ExpiresAbsolute = Now() - 1
Response.Addheader "pragma","no-cache"
Response.Addheader "cache-control","private"
Response.CacheControl = "no-cache

希望本文所述的Asp.net中Response.Charset與Response.ContentEncoding的區(qū)別及相關(guān)用法對大家Asp.net程序設(shè)計有所幫助。

您可能感興趣的文章:
  • asp.net下Response.ContentType類型匯總
  • asp.net 頁面轉(zhuǎn)向 Response.Redirect, Server.Transfer, Server.Execute的區(qū)別
  • asp.net 使用Response.Filter 過濾非法詞匯
  • asp.net中Response.Redirect與Server.Transfer的區(qū)別分析
  • ASP.NET筆記之 Request 、Response 與Server的使用
  • ASP.NET之Response.Cookies.Remove 無法刪除COOKIE的原因
  • asp.net直接Response輸出WML頁面示例代碼
  • asp.net中WebResponse 跨域訪問實例代碼
  • Asp.net response對象與request對象使用介紹
  • asp.net內(nèi)置對象 Response對象使用介紹

標簽:天門 張家界 江蘇 白山 陽泉 蘭州 德陽 新疆

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Asp.net中Response.Charset與Response.ContentEncoding區(qū)別示例分析》,本文關(guān)鍵詞  Asp.net,中,Response.Charset,與,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Asp.net中Response.Charset與Response.ContentEncoding區(qū)別示例分析》相關(guān)的同類信息!
  • 本頁收集關(guān)于Asp.net中Response.Charset與Response.ContentEncoding區(qū)別示例分析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章