作项目,须要用JS接收PHP用urlencode编码过来的数据。 php
但JS的编码、解码方法里,decodeURI和PHP的urlencode方法不一样,没法对PHP的urlencode进行解码。上网搜了搜,发现许多 人问这个问题,解决方法是须要本身写一个JS的urlencode解码函数,了解PHP的urlencode编码算法后反向用JS解码。 html
网上有几段写好的半JS版urldecode,但都须要用到VBscript,但是FF不支持VBscript,也就意味着会不兼容FF。找了半天纯JS版的也没有。 算法
上面这段是摘自别的页面 (原帖 :http://bbs.blueidea.com/thread-2889986-1-1.html), 还弄了一个函数 解码 云云,看了就头晕,反复试了几回,写了下面的小例子,多么简单的ok了 ide
<?php 函数
$str = '思源博客siyuantlw/tlw/sy/俺只是一个打酱油的'; 编码
$str = iconv("GB2312",'UTF-8',$str); url
$str = urlencode($str); idea
?> code
<html> htm
<script>
var ds = '<?php echo $str;?>';
var dddd= decodeURIComponent (ds);
alert(dddd);
</script>
</html>
decodeURIComponent 貌似对GB2312编码的格式不识别,必须转为utf-8才能够,而后,若是字符串中有空格的 就转为 + 号了,没研究是什么状况。。。有路过的能够留块砖~