Codeigniter REST: get请求不能工作,如果参数值包含#符号


Codeigniter REST: get request does not work if parameter value contains # symbol

我使用CodeIgniter REST库。我接受的值从移动应用程序使用get请求。在对该值执行操作后,我发送相应的响应。它工作得很好。但是,如果参数中的值包含#符号,则无法获得#之后的参数,从而导致错误的响应。

谁能指导我解决这个问题?

代码如下:

    public function loginverification_get(){       
    if(isset($_REQUEST['username']))
        $uname=$this->get('username');
    else
        $uname='';
    if(isset($_REQUEST['password']))
        $password=trim($this->get('password'));
    else
        $password='';
    if(isset($_REQUEST['user_type']))   
        $user_type=$this->get('user_type'); 
    else
        $user_type='';

    if(isset($_REQUEST['spiriva_respi']))
        $appcontent=$this->get('spiriva_respi');
    else
        $appcontent='';

    $where='';
    /////////////////
        SOME CODE
    ///////////////////
        if (!empty($user))
        {
                $user['status'] = true; 
                $user['message'] = 'Successfully logged in!';                            
                $this->set_response($user, REST_Controller::HTTP_OK); 
        }
        else
        {
            $this->set_response(array(
                'status' => false,
                'message' => 'Login information is not valid!'
            ), REST_Controller::HTTP_OK); 
        }
    }/*if($uname!=''  && $user_type!='')//&& $password!='' */
    else{
        $this->set_response(array(
                'status' => false,
                'message' => 'UserName and UserType mandatory'
            ), REST_Controller::HTTP_OK); 
    }
}/// login verification

,请求是:http://domain_name/api/controllername/loginverification?username=u_name&密码= y # w6737@ $ %, ^ %, user_type = abcd

从客户端来看,值应该是URL编码比如android

String query = URLEncoder.encode("apples #oranges", "utf-8");
String url = "http://stackoverflow.com/search?q=" + query;