程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> ajax如何傳中文參數亂碼解決辦法

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

編輯:關於PHP編程

ajax如何傳中文參數亂碼解決辦法 由於某種原因ajax默認就是uft-8的編碼,那麼我們使用一gbk就容易出現亂碼的問題,下面我們就來告訴你php ajax亂碼的解決方法吧。

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 這的碼才可以。

js:encodeuricomponent —— decodeuricomponent;php: rawurlencode —— rawurldecode


*/

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved