JS對RUL解碼 JS將PHP中urlencode編碼的字符串解碼

作項目,須要用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才能夠,而後,若是字符串中有空格的  就轉爲 +  號了,沒研究是什麼狀況。。。有路過的能夠留塊磚~

相關文章
相關標籤/搜索