function utf8_urldecode($str) {  
      if(strpos('+'.$str,'%u')>0)  
      {  
          $str = preg_replace("/%u([0-9a-f]{3,4})/i","&#x\\1;",urldecode($str));  
          return html_entity_decode($str,null,'UTF-8');;            
      }elseif(strpos('+'.$str,'%'))  
      {  
          return urldecode($str);  
      }else  
      {  
          return $str;  
      }  
  
    }