導航:首頁 > 解決方法 > ajax亂碼問題解決方法

ajax亂碼問題解決方法

發布時間:2022-01-09 08:57:05

1. 簡述為什麼用ajax發送請求會出現亂碼問題

url=encodeURI(encodeURI(url));前台轉碼一次,java.net.URLDecoder.decode(paperTitle,"UTF-8");後台也轉碼下,試試。

2. Ajax傳遞中文參數到後台亂碼的有效解決方法

使用Ajax傳遞中文參數,如果不對參數進行處理的話,傳到後台會變成亂碼,經測試可以使用如下方法
這里是以jquery.autocomplete插件中獲取輸入框中的數據傳到後台為例:
注意要對中文使用encodeURI編碼兩次
復制代碼
代碼如下:
extraParams:
{q:function(){return
encodeURI(encodeURI($('#keyword').val()))}}
這里同樣也要解碼兩次
復制代碼
代碼如下:
String
key
=
URLDecoder.decode(URLDecoder.decode(q,"UTF-8"),"tuf-8");

3. ajax如何傳中文參數亂碼解決辦法

由於某種原因ajax默認就是uft-8的編碼,那麼我們使用一gbk就容易出現亂碼的問題,下面我們就來告訴你php ajax亂碼的解決方法吧。
由於某種原因ajax默認就是uft-8的編碼,那麼我們使用一gbk就容易出現亂碼的問題,下面我們就來告訴你php教程ajax亂碼的解決方法吧。
傳遞中文參數,然後修改資料庫教程的。
<script
var url=admin/ajaxmodify.php?+key+=;
url+=encodeuricomponent(encodeuricomponent(value));
xmlhttp.open(get,url,true);
xmlhttp.send(null);
</script
參數是中文encodeuricomponent這個方法必須調用兩次*/function utf8rawurldecode ($source) {
$decodedstr = ;$pos = 0;
$len = strlen ($source);
while ($pos < $len) {
$charat = substr ($source, $pos, 1);
if ($charat == '%') {$pos++;
$charat = substr ($source, $pos, 1);
if ($charat == 'u') {
// we got a unicode character$pos++;
$unicodehexval = substr ($source, $pos, 4);
$unicode = hexdec ($unicodehexval);
$entity = &#. $unicode . ';';
$decodedstr .= utf8_encode ($entity);$pos += 4;}else {
// we have an escaped ascii character
$hexval = substr ($source, $pos, 2);
$decodedstr .= chr (hexdec ($hexval));$pos += 2;}} else {
$decodedstr .= $charat;$pos++;}}
return $decodedstr;}/*
註:js中,在使用字元轉碼的時候,推薦使用 encodeuricomponent() 或者 encodeuri(),而非escape()。原因在於,escape() 只是為 ascii字元 做轉換工作,轉換成的 %unnnn 這樣的碼,如果要用更多的字元如 utf-8字元庫就一定要用 encodeuricomponent() 或 encodeuri() 轉換才可以成 %nn%nn 這的碼才可以。

4. ajax出現亂碼怎麼解決

方法一
在後台中使用request.setCharacterEncoding("UTF-8");
方法二
$.ajax({
type:'post',

......
contentType:'application/x-www-form-urlencoded; charset=UTF-8'
});
方法三(此方法絕對可行)
前台js將參數值轉為統一資源標示符(URI)例如name = encodeURI(encodeURI(『張三'));注意要
encodeURI兩次。
後台需要對URI進行解析
String name= request.getParameter(「name」);
name= URLDecoder.decode(name, 「UTF-8″);

5. jquery ajax提交亂碼問題

通常這種亂碼是通過在js傳遞值的時候用encodeURI編碼,在java中用URLDecoder.decode(str,"gbk"),這2個方法解決的,你的這個也可以這么做。
但是你用了$('#ajaxForm').serialize(),就不行了,這個地方如果是一個一個取然後用encodeURI對中文進行編碼就可以。

6. 新手請教ajax中文亂碼問題~~

是這樣的,你用ajax提交,要是url裡面的參數有中文值,要用encodeURIComponent
如var url = 」ClientServlet?cph="+encodeURIComponent(「張三「);

7. jQuery ajax 中文亂碼問題

1、前後台編碼要統一;
2、在使用gb2312編碼時,不要用jquery的$.get()或$.post()做ajax提交,因為這兩個方法默認為utf-8;
3、用$.ajax()並在其中加入:contentType:"pplication/x-www-form-urlencoded; charset=GB2312";寫成以下形式,可以在大多數情況避免亂碼:
$.ajax({
type: "POST",
contentType:"pplication/x-www-form-urlencoded; charset=GB2312",
url: "XXX「,
data: {},
success: function(msg){
alert( msg );
}
});

8. ajax 中文亂碼

AJAX經常出現這種,我解決的辦法就是統一用GB2312的編碼,然後因為你是JSP的,我不懂,我是ASP的,我在AJAX那一頁上設置碼制的時候,既用了VB的設置,又用了HTML的設置,然後才能達到正常顯示漢字,你試試唄。

9. ajax中中文亂碼的問題

剛使用ajax肯定會遇到亂碼問題。
這是由於客戶端請求與伺服器端相應編碼不一致。
1.在你的頁面上,你需要指定頁面的編碼,如:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
2.在你的伺服器端也要指定輸出編碼,如:
response.charset = "utf-8";
3.你的前端頁面和後台處理的頁面字元編碼必須同樣為utf-8。
這樣一般就不會亂碼了,如果還亂,那麼你就用escape()將請求進行編碼後再發送,而後台也使用unescape()將請求進行解碼後再處理就可以了。

10. AJAX亂碼的問題

看看這個,也許對你有幫助
http://phpxiaoxin.javaeye.com/blog/350544

閱讀全文

與ajax亂碼問題解決方法相關的資料

熱點內容
藍藻常用治理方法 瀏覽:469
聯系人錄音設置在哪裡設置方法 瀏覽:262
鋁合金掛軸安裝方法 瀏覽:375
配電櫃的電損計算方法 瀏覽:331
治療尖銳濕最新方法 瀏覽:707
oppo手機音質調整方法 瀏覽:861
油煙機清洗後吸力小解決方法 瀏覽:469
福州結核病醫院核酸檢測採集方法 瀏覽:518
治療斑禿的方法可以生發嗎 瀏覽:530
勃起困難怎樣治療方法 瀏覽:215
股票如何計算k線時間方法 瀏覽:279
教資唱歌課教學方法 瀏覽:956
杜鵑種植方法與技巧 瀏覽:84
治療皮炎最好的方法 瀏覽:983
UG如何用拉伸的方法畫齒輪 瀏覽:330
奧迪q5低速異響解決方法 瀏覽:95
怎麼戒掉抱睡的方法 瀏覽:253
如何識別麵筋的方法 瀏覽:265
呋喃西林溶液怎麼使用方法 瀏覽:132
為什麼要重寫equals方法 瀏覽:388