最近研究ajax,在介面上text中輸入中文,傳送出去後返回亂碼。經過乙個晚上的測試,以及得到滿意答案,**如下:
html:
……//實際上這裡的charset=utf-8 也是可以的,因為在中文平台下
//用了gb2312
js:我用了兩個方法提交:get 和 post。
在伺服器端要對應不同的提交方式轉換不同的編碼。
……//要傳遞的引數
var querystring = "firstname=" + firstname + "&lastname=" + lastname
+ "&birthday=" + birthday; function
//get方式提交
dorequestusingget()
servlet:
response.setcontenttype("text/xml");
//這個一定要設定,這裡的設定應該跟html中的一樣,但是我在這裡
//用了 uft-8, 結果也是一樣。
response.setcharacterencoding("gb2312");
//當用post方法時,一定要設定成utf-8,否則亂碼
string firstname = new string(request.getparameter("firstname").getbytes("iso-8859-1"), "utf-8");
//當用get方法時,要設定成gb2312,否則亂碼。
string lastname = new string(request.getparameter("lastname").getbytes("iso-8859-1"), "gb2312");
測試結果:
因為介面上兩個控制項firstname 和 lastname都輸入中文。
接收xmlhttp.responsetext後,會發現其中乙個為亂碼,乙個可以正常顯示中文。
ajax中文亂碼問題解決方案
在使用ajax傳送請求給後台時,出現了中文亂碼問題,搜尋了很久之後得出最好的解決方法 encodeuricomponent,用法示例如下 ajax url something.do success function data encodeuricomponent方法將字串轉義,官方解釋如下 enco...
中文亂碼問題解決方案
1.接收中文引數亂碼 a.以get方式提交引數亂碼,在server.xml檔案中catelina標籤中新增乙個屬性uriencoding utf 8 b.以post方式提交引數亂碼,在接收引數之前設定request物件的編碼方式 request.setcharacterencoding utf 8 ...
Ajax中文編碼問題解決方案
ajax不支援多種字符集,其預設的字符集是utf 8,所以在應用ajax技術的程式中應及時進行編碼轉換,否則對於程式中出現 的中文字元將變成亂碼。一般在以下兩種情況下將產生亂碼。1.傳送路徑的引數中包括中文,在伺服器端接收引數值時產生亂碼 將資料提交到伺服器有兩種方法 一種是使用get方法提交 另一...