yes already we are sending encoded query string only.
we are passing like this:
$query = array( // query parameters
’q’ => ‘globe OR @talk2globe OR @enjoyglobe’,
‘count’ => ‘10’,
//‘include_entities’ => ‘true’
);
$oauth = array(
‘oauth_consumer_key’ => $consumer_key,
‘oauth_token’ => $token,
‘oauth_nonce’ => (string)mt_rand(), // a stronger nonce is recommended
’oauth_timestamp’ => time(),
‘oauth_signature_method’ => ‘HMAC-SHA1’,
‘oauth_version’ => ‘1.0’
);
$oauth = array_map(“rawurlencode”, $oauth); // must be encoded before sorting
$query = array_map(“rawurlencode”, $query);
if(array_key_exists(‘geocode’,$query))
$query[‘geocode’] = urldecode($query[‘geocode’]);
$arr = array_merge($oauth, $query); // combine the values THEN sort
//print_r($arr);
asort($arr); // secondary sort (value)
ksort($arr); // primary sort (key)
$url = “https://$host$path”;
// mash everything together for the text to hash
$base_string = $method."&".rawurlencode($url)."&".rawurlencode($querystring);
$key = rawurlencode($consumer_secret)."&".rawurlencode($token_secret);
// generate the hash
$signature = rawurlencode(base64_encode(hash_hmac(‘sha1’, $base_string, $key, true)));