亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

在JavaScript中通過URL傳遞漢字的方法

 更新時間:2007年04月09日 00:00:00   作者:  
利用JavaScript通過URL方式向后臺代碼傳值是一種經(jīng)常用到的手段,但在傳遞漢字時經(jīng)常會出現(xiàn)字符不全或變成亂碼的問題,其原因是由于客戶端IE瀏覽器的編碼方式為GB2312(簡體中文版WINDOWS的默認設(shè)置),而后臺的C#代碼使用utf8編碼(創(chuàng)建WEB工程的默認配置)。
網(wǎng)上有很多方案解決該問題,如將web.config的編碼方式改為GB2312、在客戶端通過escape先編碼再傳,個心體會都不是很理想或有些特殊字符不支持。經(jīng)過比較我決定使用encodeURIComponent在客戶端進行編碼,再傳值,除了“/”不支持(但實際開發(fā)中很少需要傳遞該值,如果真有此請況,再加一層判斷即可。
encodeURIComponent的幫助文檔如下:
encodeURIComponent 方法
將文本字符串編碼為一個統(tǒng)一資源標(biāo)識符 (URI) 的一個有效組件。
encodeURIComponent( encodedURIString ) 
必選的 encodedURIString 參數(shù)代表一個已編碼的 URI 組件。
說明
encodeURIComponent 方法返回一個已編碼的 URI。如果您將編碼結(jié)果傳遞給 decodeURIComponent ,那么將返回初始的字符串。因為encodeURIComponent 方法對所有的字符編碼,請注意,如果該字符串代表一個路徑,例如 /folder1/folder2/default.html ,其中的斜杠也將被編碼。這樣一來,當(dāng)該編碼結(jié)果被作為請求發(fā)送到 web 服務(wù)器時將是無效的。如果字符串中包含不止一個 URI 組件,請使用 encodeURI 方法進行編碼。
要求
版本 5.5
請參閱
decodeURI 方法 | decodeURIComponent 方法
應(yīng)用于: Global 對象

我做了一個小例子來展現(xiàn)該效果  
Default.aspx代碼:
復(fù)制代碼 代碼如下:

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" > 
<head runat="server"> 
    <title>無標(biāo)題頁</title> 
</head> 
<script type="text/javascript" language="javascript"> 
    function callURL(Value1, Value2) 
    { 
        document.URL = "Default.aspx?Value1=" + encodeURIComponent(Value1) + "&Value2=" + encodeURIComponent(Value2); 
    } 
</script> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
        Value1=<input id="Text1" type="text" value="1234567890"/><br /> 
        Value2=<input id="Text2" type="text" value="中華人民共和國"/> 
        <br /> 
        <input id="Button1" type="button" value="提交" onclick="callURL(Text1.value, Text2.value)"/></div> 
    </form> 
</body> 
</html> 


Default.aspx.cs代碼:
復(fù)制代碼 代碼如下:

using System; 
using System.Data; 
using System.Configuration; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Web.UI.HtmlControls; 
public partial class _Default : System.Web.UI.Page  

    protected void Page_Load(object sender, EventArgs e) 
    { 
        string tmpValue1 = ""; 
        string tmpValue2 = ""; 
        if (Request.QueryString["Value1"] != null) 
        { 
            tmpValue1 = Request.QueryString["Value1"].ToString(); 
        } 
        if (Request.QueryString["Value2"] != null) 
        { 
            tmpValue2 = Request.QueryString["Value2"].ToString(); 
        } 
        Response.Write("Value1=" + tmpValue1 + "<br />" + "Value2="  + tmpValue2); 
    } 
}

相關(guān)文章

最新評論