public function get_user_info(){
$token = $this->get_access_token();
if(isset($token['error_code'])){
var_dump($token);
exit;
}
$url = 'http://openapi.qzone.qq.com/user/get_user_info';
$params = array(
'oauth_consumer_key' => QQ_OAUTH_CONSUMER_KEY,
'oauth_nonce' => QQ_OAUTH_NONCE,
'oauth_signature_method' => 'HMAC-SHA1',
'oauth_timestamp' => QQ_TIMESTAMP,
'oauth_token' => $token['oauth_token'],
'oauth_version' => '1.0',
);
$params['openid'] = $token['openid'];
ksort($params); #按照字典排序
$params['oauth_signature'] = $this->make_sign('GET', $url, $params, $token['oauth_token_secret']);
$url .= '?' . http_build_query($params);
$str = file_get_contents($url);
$result = false;
is_string($str) && $result = json_decode($str, true);

return $result;
}
}
QQ一键登录代码
返回的昵称  乱码...$str = file_get_contents($url);
$result = false;
is_string($str) && $result = json_decode($str, true);
return $result;
$result汉字乱码 怎么办啊

解决方案 »

  1.   

    编码一直里 问题就是返回的是 json 数据不支持GBK啊 ...不知道怎么转换  
      

  2.   

    array(7) {
      ["ret"]=>
      int(0)
      ["msg"]=>
      string(0) ""
      ["nickname"]=>
      string(12) "娓告垙绠卞瓙"
      ["figureurl"]=>
      string(73) "http://qzapp.qlogo.cn/qzapp/100234138/097421DE742CAA1C1FDB0915963EDEC9/30"
      ["figureurl_1"]=>
      string(73) "http://qzapp.qlogo.cn/qzapp/100234138/097421DE742CAA1C1FDB0915963EDEC9/50"
      ["figureurl_2"]=>
      string(74) "http://qzapp.qlogo.cn/qzapp/100234138/097421DE742CAA1C1FDB0915963EDEC9/100"
      ["gender"]=>
      string(3) "鐢?
    }
    得到的是乱码啊.....怎么在强制转换前  编码啊  高手求解!
      

  3.   

    mb_convert_encoding($ret['nickname'],'gbk','utf-8,gbk')
      

  4.   


    转个屁啊,只是显示成乱码了,改一下你的PHP文件编码和网页头中的编码就行了,只要和QQ的API编码一致就OK