欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2014年08月25日 17:11:18   投稿:shichen2014  
這篇文章主要介紹了Asp.net中Response.Charset與Response.ContentEncoding區(qū)別示例分析,對(duì)于深入理解Asp.net程序設(shè)計(jì)有一定的幫助,需要的朋友可以參考下

本文以示例形式分析了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("腳本之家");

然后用瀏覽器打開網(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();//停止輸出
}

三.Response.AppendHeader使用

@文件下載,指定默認(rèn)名

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

@刷新頁面

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

這等同于客戶機(jī)端<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"

@強(qiáng)制瀏覽器顯示一個(gè)用戶名/口令對(duì)話框

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

強(qiáng)制瀏覽器顯示一個(gè)用戶名/口令對(duì)話框,然后使用BASIC驗(yàn)證把它們發(fā)送回服務(wù)器(將在本書后續(xù)部分看到驗(yàn)證方法)。
@如何讓網(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)用法對(duì)大家Asp.net程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • WPF使用AForge調(diào)用攝像頭

    WPF使用AForge調(diào)用攝像頭

    這篇文章介紹了WPF使用AForge調(diào)用攝像頭的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-01-01
  • asp.net(c#)利用構(gòu)造器鏈的代碼

    asp.net(c#)利用構(gòu)造器鏈的代碼

    c#構(gòu)造器鏈的實(shí)現(xiàn)代碼,方便以后大家學(xué)習(xí)應(yīng)用
    2008-08-08
  • asp.net 文件下載的通用方法

    asp.net 文件下載的通用方法

    一則雕蟲小技,記下備忘,以使同學(xué)們少走彎路。
    2009-06-06
  • 淺析ASP.NET生成隨機(jī)密碼函數(shù)

    淺析ASP.NET生成隨機(jī)密碼函數(shù)

    在開發(fā)需要用戶注冊(cè)后才能使用提供的各項(xiàng)功能的應(yīng)用程序時(shí),在新用戶提交注冊(cè)信息后,較常見的做法是由程序生成隨機(jī)密碼,然后發(fā)送密碼到用戶注冊(cè)時(shí)填寫的電子信箱,用戶再用收到的密碼來激活其帳戶。
    2009-11-11
  • .net任務(wù)調(diào)度框架FluentScheduler簡(jiǎn)介

    .net任務(wù)調(diào)度框架FluentScheduler簡(jiǎn)介

    這篇文章介紹了.net任務(wù)調(diào)度框架FluentScheduler,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • asp.net post方法中參數(shù)取不出來的解決方法

    asp.net post方法中參數(shù)取不出來的解決方法

    調(diào)試client端調(diào)用web api的代碼,服務(wù)器端的post方法的參數(shù)死活取不出來,下面有個(gè)不錯(cuò)的解決方法,希望對(duì)大家有所幫助
    2014-01-01
  • ajaxControlToolkit中CascadingDropDown的用法說明

    ajaxControlToolkit中CascadingDropDown的用法說明

    今天頭叫寫一個(gè)類似三級(jí)聯(lián)動(dòng)的控件,最好實(shí)現(xiàn)無刷新,是石油軟件中的一個(gè)數(shù)據(jù),需要表現(xiàn)出類似 X1-22 這樣的格式,上下標(biāo)的數(shù)據(jù)是固定的 想了很多辦法來表現(xiàn)這個(gè)數(shù)字,最后決定用3個(gè)DropDownList控件
    2008-11-11
  • 基于MVC4+EasyUI的Web開發(fā)框架之附件上傳組件uploadify的使用

    基于MVC4+EasyUI的Web開發(fā)框架之附件上傳組件uploadify的使用

    這篇文章主要介紹了基于MVC4+EasyUI的Web開發(fā)框架之附件上傳組件uploadify的使用,需要的朋友可以參考下
    2017-08-08
  • 詳解asp.net core封裝layui組件示例分享

    詳解asp.net core封裝layui組件示例分享

    本篇文章主要介紹了詳解asp.net core封裝layui組件示例分享,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-10-10
  • Win 2000下ASP.NET開發(fā)環(huán)境的配置

    Win 2000下ASP.NET開發(fā)環(huán)境的配置

    Win 2000在默認(rèn)情況下是不支持ASP.NET的。必須對(duì)它進(jìn)行一個(gè)環(huán)境的配置,本文將圖文介紹,在配置過程中遇到困難的朋友可以參考下
    2012-11-11

最新評(píng)論