91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ajax中文亂碼問題怎么解決

發布時間:2021-07-22 18:39:43 來源:億速云 閱讀:247 作者:chen 欄目:web開發

本篇內容主要講解“ajax中文亂碼問題怎么解決”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“ajax中文亂碼問題怎么解決”吧!

ajax中文亂碼問題在中文中經常會出現這種問題,其實只要稍加注意就不會出現ajax中文亂碼這回事情了,注意前后臺編碼一致.你用的是中文.而ajax傳輸數據的時候用的是utf-8 ,還有對ajax get方法時最好escape 或urlcode,

復制代碼 代碼如下:


<%@ page contenttype="text/html;charset=gb2312%>


如果是用servlet就加

復制代碼 代碼如下:


response.setcontenttype("text/html;charset=gb2312");
request.setcharacterencoding("gb2312");


還有一個更好的方法就是在加一個filter
在其中加入

復制代碼 代碼如下:


response.setcontenttype("text/html;charset=gb2312");
request.setcharacterencoding("gb2312");


一切都解決了
再說一下從客戶端上傳數據,就必須在服務端進行編碼轉換

復制代碼 代碼如下:


string param = request.getparamter("param");
param = new string(param.getbytes("iso-8859-1"),"gb2312");


現在就都是中文的了。
注意前后臺編碼一致.你用的是中文.而ajax傳輸數據的時候用的是utf-8

復制代碼 代碼如下:


<script>
var oxmlhttp = new activexobject( "microsoft.xmlhttp ");
oxmlhttp.open( "get ", "http://dotnet.aspx.cc/content.aspx ", false);
oxmlhttp.send()
var ostream = new activexobject( "adodb.stream ");
if(ostream == null)
alert( "您的機器不支持adodb.stream. ")
else
{
ostream.type=1;
ostream.mode=3;
ostream.open() ;
ostream.write(oxmlhttp.responsebody);
ostream.position= 0;
ostream.type= 2;
ostream.charset= "gb2312 ";
var result= ostream.readtext();
ostream.close();
ostream = null;
alert( result);
}
</script>


客戶端文件的編碼設置為gb2312,如下面代碼所示:
html代碼

復制代碼 代碼如下:


<meta http-equiv="content-type" content="text/html; charset=gb2312" />


在發送的url地址中的查詢字符串或者是使用post方式發送的請求內容不要使用escape函數進行編碼,切記!
服務器端的jsp教程文件也設置為gb2312編碼格式,如下面代碼所示:
jsp 代碼
或者設置response的頭,如下面代碼所示:

復制代碼 代碼如下:


response.setheader("content-type","text/html; charset=gb2312");


兩者原理是一樣的。
最著關鍵的是在獲取參數時應該對獲取字符串進行重新編碼,如下面代碼所示:

復制代碼 代碼如下:


string username = new string(request.getparameter("username").getbytes("iso8859_1"),"gb2312");


其中,username為接收的參數。
直接使用out.print(username);就可以將中文返回給客戶端,在客戶端直接使用xmlhttp.responsetext屬性就可以直接使用返回的中文了!
附件中我測試用的一個小例子,在tomcat6.0和resin2.1.8中通過測試!

其實,還有一個一勞永逸的解決方案,就是添加一個過濾器。
補充一下提交方法為get時時在服務器里寫的時這句代碼

復制代碼 代碼如下:


string username = new string(request.getparameter("username").getbytes("iso8859_1"),"gb2312");


為post時應該時這樣吧

復制代碼 代碼如下:


string username = new string(request.getparameter("username").getbytes("iso8859_1"),"utf-8");

到此,相信大家對“ajax中文亂碼問題怎么解決”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

定州市| 武川县| 交口县| 济南市| 济源市| 丹棱县| 峨眉山市| 金秀| 德格县| 桃江县| 鹤岗市| 静海县| 盐津县| 铅山县| 离岛区| 湘潭市| 沁源县| 方城县| 托克托县| 渝北区| 曲周县| 湘乡市| 镇康县| 彩票| 克山县| 美姑县| 贵港市| 景谷| 井陉县| 承德县| 靖宇县| 泰来县| 时尚| 澄城县| 平远县| 襄樊市| 抚松县| 宁安市| 长海县| 张北县| 八宿县|