国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

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

2024-07-10 12:43:09
字體:
供稿:網(wǎng)友

本文以示例形式分析了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 字符集。微軟對(duì) ContentEncoding、Charset 的解釋是一字不差,其實(shí)可以這樣理解:ContentEncoding 是標(biāo)識(shí)這個(gè)內(nèi)容是什么編碼的,而 Charset 是告訴客戶端怎么顯示的。

我們可以做一個(gè)示例來理解:

示例1.

Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");Response.Charset = "utf-8"; Response.Write("錯(cuò)新站長站");

然后用瀏覽器打開網(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 時(shí),就用 ContentEncoding 的 Charset 作為 charset。

示例3.

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

HTTP 頭中是:text/html; charset=123-8。網(wǎng)頁顯示正常,說明如果 charset 錯(cuò)誤,仍然以 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。

補(bǔ)充:

一.Response.ContentType

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

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

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

二.使用流形成一個(gè)word文件例子

protected void btnResponseWord_Click(object sender, EventArgs e){    Response.Clear(); //清空無關(guān)信息    Response.Buffer= true; //完成整個(gè)響應(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();//停止輸出}            
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 太谷县| 新乐市| 亚东县| 绥芬河市| 桂东县| 芒康县| 集贤县| 玉环县| 烟台市| 景洪市| 天峻县| 卓尼县| 吐鲁番市| 鹿泉市| 揭东县| 行唐县| 穆棱市| 东城区| 南丰县| 石棉县| 海淀区| 舒兰市| 韩城市| 工布江达县| 青海省| 满城县| 勃利县| 竹北市| 怀宁县| 西城区| 龙陵县| 华蓥市| 固始县| 梅河口市| 阿尔山市| 大姚县| 陆丰市| 股票| 二连浩特市| 杂多县| 丰都县|