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

首頁 > 開發(fā) > AJAX > 正文

AJAX中文亂碼問題探討及解決

2024-09-01 08:28:57
字體:
供稿:網(wǎng)友
AJAX中文問題分為兩大類:
1)發(fā)送路徑中的參數(shù)有中文,在服務(wù)器段接收參數(shù)值是亂碼

例如:
var url="a.jsp?name=小李";
xmlHTTP.open ("post",url,true);

解決辦法:
利用javascript的提供的escape()或encodeURI()方法

例如:
客戶端:
var url="a.jsp?name=小李";
url=encodeURI(url);
url=encodeURI(url); //兩次,很關(guān)鍵[具體為什么,我也不清楚]
/********************************************/
也有人寫成var url="a.jsp?name=escape("小李")";
功能和encodeURI方法類似。
/********************************************/
xmlHTTP.setrequestheader("cache-control","no-cache");
xmlHTTP.setrequestheader("Content-Type","application/x-www-form-urlencoded");
xmlHTTP.setrequestheader("contentType","text/html;charset=uft-8")//指定發(fā)送數(shù)據(jù)的編碼格式
xmlHTTP.open ("post",url,true);

服務(wù)器端:
String name = request.getParameter("name");
name = java.net.URLDecoder.decode(name, "UTF-8");

2)返回來的responseText或responseXML的值中含有中文是亂碼
原因:AJAX在接收responseText或responseXML的值的時(shí)候是按照UTF-8的格式來解碼的,如果服務(wù)器段發(fā)送的數(shù)據(jù)不是UTF-8的格式,那么接收responseText或responseXML的值有可能為亂碼。
解決辦法:在服務(wù)器指定發(fā)送數(shù)據(jù)的格式:

在服務(wù)端:
代碼如下:
response.setCharacterEncoding("UTF-8");
response.setContentType("text/text;charset=UTF-8");//返回的是txt文本文件
response.setContentType("text/xml;charset=UTF-8");//返回的xml文件
response.setContentType("application/json");//返回json文件
PrintWriter bw = response.getWriter();//輸出要使用此類
bw.write(result);
bw.flush();
bw.close();

總結(jié):1)ajax提交數(shù)據(jù)的格式默認(rèn)為utf-8,利用javascript的提供的escape()或encodeURI()方法.在服務(wù)器端接收的時(shí)候要使用java.net.URLDecoder.decode("","UTF-8")方法進(jìn)行解碼.
2)xtmlhttp 返回的數(shù)據(jù)默認(rèn)的字符編碼是utf-8,所以服務(wù)器要向客戶端發(fā)送數(shù)據(jù)的時(shí)候,也要采用utf-8編碼
如果上述方法仍然解決不了亂碼問題,那你嘗試一下把jsp,htm,java文件用UTF-8編碼格式保存.
總之:前后臺(tái)數(shù)據(jù)交互都采用utf-8編碼就行了.
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 西昌市| 平遥县| 共和县| 渑池县| 宜阳县| 仙游县| 皮山县| 金昌市| 武安市| 九江县| 郸城县| 涪陵区| 武宣县| 来凤县| 普陀区| 南开区| 柞水县| 鞍山市| 河西区| 曲靖市| 娄烦县| 平塘县| 惠来县| 武功县| 泰顺县| 内江市| 克拉玛依市| 中西区| 交城县| 衡东县| 蚌埠市| 彰化市| 正宁县| 三河市| 饶河县| 安庆市| 东方市| 罗平县| 永平县| 观塘区| 崇文区|