佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > AJAX中文亂碼解決新方法分享

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

熱門標簽:團購網站 銀行業(yè)務 服務器配置 科大訊飛語音識別系統(tǒng) 電子圍欄 Linux服務器 阿里云 Mysql連接數設置

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

客戶端代碼 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      www.longbill.cn  

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 onclick="getXML()" type="button" value="送出數據">  
input onclick="if(xh xh.responseText) {alert(xh.responseText);}" type="button" value="顯示返回結果">br>  
div id=m bgcolor=blue>在此顯示狀態(tài)/div>  
input type=button onclick="alert(document.cookie)" value=顯示本地COOKIE>  
/form>

服務器端代碼 a.php 

復制代碼 代碼如下:

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

您可能感興趣的文章:
  • JQuery中Ajax的Post提交在IE下中文亂碼的解決方法
  • ajax請求亂碼的解決方法(中文亂碼)
  • jquery.ajax的url中傳遞中文亂碼問題的解決方法
  • AJAX中文亂碼問題探討及解決
  • 解決ajax+php中文亂碼的方法詳解
  • JQuery AJAX 中文亂碼問題解決
  • ajax中文亂碼問題解決方案
  • jquery的ajax()函數傳值中文亂碼解決方法介紹
  • ajax中文亂碼的各種解決辦法總結
  • AJAX中文亂碼PHP中完美解決方法
  • JQuery AJAX提交中文亂碼的解決方案
  • Javascript和Ajax中文亂碼吐血版解決方案
  • PHP Ajax中文亂碼問題解決方法
  • 一句話解決AJAX中文亂碼問題[推薦]
  • ajax+php中文亂碼解決辦法

標簽:棗莊 衡水 衢州 大理 廣元 萍鄉(xiāng) 江蘇 蚌埠

巨人網絡通訊聲明:本文標題《AJAX中文亂碼解決新方法分享》,本文關鍵詞  ;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    贺兰县| 拉孜县| 华池县| 昭平县| 若尔盖县| 东阿县| 兰西县| 静海县| 甘孜县| 固阳县| 右玉县| 锦州市| 长兴县| 潼南县| 石阡县| 呼玛县| 比如县| 福建省| 锦州市| 安泽县| 密山市| 新郑市| 白山市| 土默特右旗| 德格县| 怀柔区| 桃江县| 墨玉县| 河池市| 西宁市| 巴彦淖尔市| 澜沧| 谢通门县| 绥滨县| 凤山市| 金平| 大冶市| 永年县| 龙江县| 商洛市| 桦南县|