JS程序里  有个javascript的函数  escape() 他把我的中文 比如:”我们“  转成了  “%u6211%4EEC”  请问在PHP里我怎么给转换回来啊?

解决方案 »

  1.   

    function unescape($str) 
    { // 对js的编码进行解码 
     $str = rawurldecode($str); 
         preg_match_all("/%u.{4}|&#x.{4};|&#d+;|.+/U",$str,$r); 
         $ar = $r[0]; 
         foreach($ar as $k=>$v) 
         { 
              if(substr($v,0,2) == "%u") 
                    $ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,-4))); 
              elseif(substr($v,0,3) == "&#x") 
                    $ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,3,-1))); 
              elseif(substr($v,0,2) == "&#")
               $ar[$k] = iconv("UCS-2","GBK",pack("n",substr($v,2,-1))); 
              
         } 
         return join("",$ar);  
    }
      

  2.   

    js貌似编码上和php还有点区别,不过urlencode还是可以用的