[php] 前后端URL编解码

来源:互联网 发布:淘宝退货赠品要退吗 编辑:程序博客网 时间:2024/06/09 18:16

细心的同学已经在百度上看到,在我们搜索东西时URL是进行编码过的。。

具体的实现没有深究,这里只是简单的写下实现形式。。前后端都有对URL编码的方法,就是这样相互转换实现的。。


在php中对URL编码之前先把字符集转成UTF-8

<?php $str = 'CSDN博客siyuantlw/tlw/sy/俺只是一个路过的'; $str = iconv("GB2312",'UTF-8',$str); $str = urlencode($str); ?>

在JS中获取编码过的URL

<script>    var ds = '<?php echo $str;?>';    var dddd= decodeURIComponent (ds);    alert(dddd);</script>

在搜索框中使用,通过JS编码后的URL

<!doctype html><html lang="en"><head>    <meta charset="UTF-8">    <title>Document</title>    <script src="jquery.min.js"></script></head><body><form method="get">    <input type="text" name="search" />    <button type="button">搜索</button></form><script>    $('button').click(function() {        window.location.href = 'test.php?search='+encodeURI($('input').val());    });</script></body></html>

在test.php获取

header('Content-Type:text/html; charset=utf-8');echo urldecode($_GET['search']);


编解码的方法还有:

btoa()对应atob()

escape()对应unescape()

encodeURIComponent()对应decodeURIComponent()

谢谢关注!



0 0