五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網(wǎng) > 365文章 > ajax亂碼解決匯總

ajax亂碼解決匯總

文章來源:365jz.com     點(diǎn)擊數(shù):603    更新時(shí)間:2010-01-07 22:33   參與評論
第一,javascript沿用java的字符處理方式,內(nèi)部是使用unicode來處理所有字符的,
第二,utf-8是每個(gè)漢字(unicode字符)用3個(gè)字節(jié)來存儲。
第三,用utf-8來send數(shù)據(jù)是不會出現(xiàn)亂碼的,是后臺程序沒有正確解碼才會出現(xiàn)亂碼。
第四,ajax發(fā)送數(shù)據(jù)的時(shí)候如果修改 Content-Type 為 application/x-www-form-urlencoded",肯定是用post方式,而“太大的數(shù)據(jù)往往會出錯(cuò)”是用GET方式發(fā)送數(shù)據(jù)造成的。
第五,用vbscript寫的函數(shù)是用來把數(shù)據(jù)轉(zhuǎn)成gbk編碼(操作系統(tǒng)默認(rèn)的編碼方式。如果在繁體系統(tǒng)上就是big5之類的編碼)的,而不是gb2312,兩者的編碼字符數(shù)量相差3倍左右。
第六,用cookie來發(fā)送數(shù)據(jù),一是很容易溢出,二是要不停的擦屁股,否則cookie里面的數(shù)據(jù)在每個(gè)http請求(包括圖片和腳本請求)中都會被發(fā)送。三是并發(fā)幾個(gè)http請求的時(shí)候,沒有辦法指定那個(gè)cookie是要發(fā)送給那個(gè)http請求的。
------------------------
用AJAX 來GET回一個(gè)頁面時(shí),RESPONSETEXT里面的中文多半會出現(xiàn)亂碼,這是因?yàn)閤mlhttp在處理返回的responseText的時(shí)候,是把 resposeBody按UTF-8編碼進(jìn)解碼考形成的,如果服務(wù)器送出的確實(shí)是UTF-8的數(shù)據(jù)流的時(shí)候漢字會正確顯示,而送出了GBK編碼流的時(shí)候就 亂了。解決的辦法就是在送出的流里面加一個(gè)HEADER,指明送出的是什么編碼流,這樣XMLHTTP就不會亂搞了。

PHP:header('Content-Type:text/html;charset=GB2312');
ASP:Response.Charset("GB2312")
JSP:response.setHeader("Charset","GB2312");

如對本文有疑問,請?zhí)峤坏浇涣髡搲瑥V大熱心網(wǎng)友會為你解答??! 點(diǎn)擊進(jìn)入論壇

發(fā)表評論 (603人查看0條評論)
請自覺遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴(yán)禁發(fā)布色情、暴力、反動的言論。
昵稱:
最新評論
------分隔線----------------------------

其它欄目

· 建站教程
· 365學(xué)習(xí)

業(yè)務(wù)咨詢

· 技術(shù)支持
· 服務(wù)時(shí)間:9:00-18:00
365建站網(wǎng)二維碼

Powered by 365建站網(wǎng) RSS地圖 HTML地圖

copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號