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

首頁 > 開發 > AJAX > 正文

AJAX中文亂碼解決新方法分享

2024-09-01 08:33:13
字體:
來源:轉載
供稿:網友
用過AJAX的朋友肯定知道javascript是使用UTF-8國際編碼,即每個漢字用3個字節來存儲,但是這就造成了用AJAX來send數據的時候出現亂碼。

用過AJAX的朋友肯定知道javascript是使用UTF-8國際編碼,即每個漢字用3個字節來存儲,但是這就造成了用AJAX來send數據的時候出現亂碼。 
   有一種解決辦法就是使用encodeURIComponent加上修改 Content-Type 為 application/x-www-form-urlencoded" 來把數據統一編碼成 url 格式,但是這樣做有一個弊端,使用php的urldecode根本不能得到正確的文字。 
   另一種方法就是通過vbscript 的寫的函數把數據轉成gb2312格式的,我個人覺得這種方法比較好。有興趣的朋友可以到網上去查一下。 
   今天突發奇想,AJAX調用的時候會不會發送cookie 呢?馬上寫了一個程序測試一下,果然能,這樣就可以在調用ajax之前,先把數據通過javascript寫到cookie里,然后再send就可以將cookie里的數據發送出去了,太爽了!! 

客戶端代碼 ajax.htm 

復制代碼 代碼如下:


<title>AJAX使用cookie傳值例子</title>  
<script>  
var oDiv         
var xh                
function getXML()  
{  
    setcookie($('name').value,$('val').value);  
    oDiv = document.all.m  
    oDiv.innerHTML = "正在裝載,請稍侯......."  
    oDiv.style.display= ""  
    xh = new ActiveXObject("Microsoft.XMLHTTP")  
    xh.onreadystatechange = getReady  
    xh.open("POST","a.php",false)  
    xh.send();  
}  

function getReady()  
{  
    if(xh.readyState==4)  
    {  
        if(xh.status==200)  
        {  
            oDiv.innerHTML = "完成"  
        }  
        else  
        {  
             oDiv.innerHTML = "抱歉,裝載數據失敗。原因:" + xh.statusText  
        }  
  }  
} //author : longbill        

function setcookie(name,value)  
{  
    var cookiestr=name+"="+value+";";  
    var expires = "";  
    var cookieexp=60*60*1000;  
    var d = new Date();  
    d.setTime( d.getTime() + cookieexp);  
    expires = "expires=" + d.toGMTString()+";";  
    document.cookie = cookiestr+ expires;  
}  
function $(a)  
{  
    return document.getElementById(a);  
}  
</script>  

<body>  
AJAX使用cookie傳值例子:<br>  
<form name=myform>  
name:<input id=name  value="變量名甚至可以是中文" size=20><br>  
value:<input type=text size=20 id=val value=這里><br>  
<input type="button" value="送出數據">  
<input type="button" value="顯示返回結果"><br>  
<div id=m bgcolor=blue>在此顯示狀態</div>  
<input type=button value=顯示本地COOKIE>  
</form>

服務器端代碼 a.php 

復制代碼 代碼如下:


<?  
header("Content-type: text/html;charset=GB2312");  
echo "以下是您送出的所有COOKIE變量及其值/n";  
print_r($_COOKIE);  
?>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宜都市| 肥城市| 昭通市| 淳安县| 益阳市| 从江县| 怀柔区| 磐石市| 家居| 吉木萨尔县| 玉田县| 汝阳县| 灯塔市| 龙里县| 承德市| 崇阳县| 林芝县| 苗栗县| 灌南县| 长海县| 左贡县| 贺兰县| 当雄县| 蕲春县| 桃园县| 永安市| 三原县| 瓦房店市| 竹山县| 高碑店市| 泸溪县| 富蕴县| 明星| 阳泉市| 玛多县| 贵州省| 临沂市| 丽水市| 丰都县| 温宿县| 绥芬河市|