溫馨提示×

溫馨提示×

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

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

如何解決AJAX中文亂碼問題

發(fā)布時間:2021-07-10 16:05:45 來源:億速云 閱讀:194 作者:chen 欄目:web開發(fā)

本篇內(nèi)容介紹了“如何解決AJAX中文亂碼問題”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

下面是我的程序
HTML : 

復制代碼 代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>無標題頁</title> <script type="text/javascript" language="javascript"> var xmlhttp; function createXMLHttprequest() { if(window.ActiveXObject) { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } else if(window.XMLHttpRequest) { xmlhttp=new XMLHttpRequest(); } } function inData() { var txtval=document.getElementById("txt").value; createXMLHttprequest(); xmlhttp.open("GET","request.ashx?val="+txtval,true); xmlhttp.onreadystatechange=getData; xmlhttp.send(null); } function getData() { if(xmlhttp.readyState==4) { if(xmlhttp.status==200) { document.getElementById("showDT").innerHTML=xmlhttp.responseText; } } } </script> </head> <body> <form id="form1" action=""> <div>請輸入姓名: <input type="text" id="txt" /> <input type="button" value="提交" id="asdf" onclick="inData()" /> <span id="showDT" ></span> </div> </form> </body> </html> 
request.ashx : Code

復制代碼 代碼如下:

<%@ WebHandler Language="C#" Class="request" %> 
using System; 
using System.Web; 
public class request : IHttpHandler { 
public void ProcessRequest (HttpContext context) { 
context.Response.ContentType = "text/plain"; 
string tab ="來自服務器的信息:您好 "+context.Request.QueryString["val"].ToString()+" --by time:"+DateTime.Now.ToLongTimeString(); 
context.Response.Write(tab); 
} 
public bool IsReusable { 
get { 
return false; 
} 
} 
}

baidu搜了一大堆 大致意思是 AJAX提交數(shù)據(jù)時,使用的是UTF-8的編碼 并且不可以設置為其他格式
如何解決呢 最后發(fā)現(xiàn)一個JS的函數(shù)escape與unescape 用escape()對將要提交的漢字進行編碼,會出現(xiàn)大致%10%20的字符,類似與.NET中Server.UrlEncode()與Server.UrlDecode();
將JS獲得的表單值進行重新編碼
Code

復制代碼 代碼如下:

var txtval=escape(document.getElementById("txt").value);

OK, 問題解決!
其他可能還有別的辦法至今沒遇到 希望這個辦法能幫到遇到這種困境的朋友

“如何解決AJAX中文亂碼問題”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

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

AI