过JS向PHP页面传递中文参数的两种方法
2012-12-28 21:37
627 查看
在网上找的,先留下来,以备后用,看评论说,这个是针对UTF-8编码的
暂时找到了两种最常用的方法
////////////////////////////////////
// 第一种 直接URL编码 比较方便
JS:
————————————————
php:
//////////////////////////////////////////////////////////////////
//第二种使用escape编码比较复杂 但兼任性似乎要好,通过ajax传递的时候可能需要
JS:
PHP:
源文地址:http://i.sm5.cc/xhy-39/js-to-php-two-methods-of-passing-parameters-in-chinese
暂时找到了两种最常用的方法
////////////////////////////////////
// 第一种 直接URL编码 比较方便
JS:
<script type=”text/javascript”> string = encodeURIComponent(string); location.href = index.php?keyword=’+string; </script>
————————————————
php:
$keyword = (isset($_GET['keyword'])) ? $_GET['keyword'] : ”;
//////////////////////////////////////////////////////////////////
//第二种使用escape编码比较复杂 但兼任性似乎要好,通过ajax传递的时候可能需要
JS:
…….. $.getJSON(“admin.php?action=”+escape(action),function(json){ }) …………
PHP:
function unescape($str) { //定义unescape函数 $str = urldecode($str); preg_match_all(“/(?:%u.{4}|.;|d+;|.+)/U”,$str,$r); $ar = $r[0]; foreach($ar as $k=>$v) { if(substr($v,0,2) == “%u”) $ar[$k] = iconv(“UCS-2BE”,”utf-8″,pack(“H4″,substr($v,-4))); elseif(substr($v,0,3) == “”) $ar[$k] = iconv(“UCS-2BE”,”utf-8″,pack(“H4″,substr($v,3,-1))); elseif(substr($v,0,2) == “”) { $ar[$k] = iconv(“UCS-2BE”,”utf-8″,pack(“n”,substr($v,2,-1))); } } return join(“”,$ar); } $action=unescape($_GET["action"]);
源文地址:http://i.sm5.cc/xhy-39/js-to-php-two-methods-of-passing-parameters-in-chinese
相关文章推荐
- 过JS向PHP页面传递中文参数的两种方法
- javascript通过url向jsp页面传递中文参数乱码解决方法
- 使用echarts类库,在后台封装option,提供两种使用struts2传递参数到页面的方法
- javascript通过url向jsp页面传递中文参数乱码解决方法
- javascript通过url向jsp页面传递中文参数乱码解决方法
- javascript通过url向jsp页面传递中文参数乱码解决方法
- javascript获取超链接传递的参数,此方法亦能解决2个通过js超链页面传递参数的乱码问题
- JSP页面通过URL传递中文参数出现中文乱码的解决方法
- 个人笔记 js 04 把子页面把参数传递到父页面的方法
- js获取地址栏中传递的参数(两种方法)
- 使用js获取当前页面地址栏参数的两种方法
- 利用js方法实现html静态页面间参数传递
- JavaScript跳转页面/Action并传递中文参数[解决js超链接传递过程中产生的中文乱码问题]
- PHP页面间参数传递的四种方法详解
- 页面之间传递参数,JS取得参数的工具方法
- Jsp页面中文参数传递get和post方法分析
- javascript通过url向jsp页面传递中文参数乱码解决方法
- PHP页面间参数传递的四种方法详解
- Js中文参数传递到Php
- 页面跳转,传递中文参数的方法