在开发QQ互联登陆时,我们往往需要得到用户的相关数据,而这一过程我们需要调用获取登录用户信息,这一过程官方称作get_user_info。目前可获取用户在QQ空间的昵称、头像信息及黄钻信息。而在文档中指出,返回参数的返回数据全部采用UFT-8编码,这样如果网站的编码是gbk(gb2312),这样在调用中文昵称时就避免不了出现乱码。为了解决这一问题,我们需要对utf-8数据进行转码,转成我们需要的编码。
在查阅了相关资料,我找到iconv函数可以进行此类操作。
服务器要求
php4中这个是扩展函数,需要去掉;extension=php_iconv.dll的分号。
php5中,这个函数是内置的,不需要进行设置。
例子
<?php echo iconv(“原编码”,”需要的编码//IGNORE”,内容); ?>
<?php
$content = iconv(‘GB2312’, ‘UTF-8’, $content);?>
iconv Bug
在具体操作的时候,我们发现,这个函数在转化的时候内容有缺失。所以我们需要在需要的编码后面加//IGNORE 。这样就可以进行数据转换了。
返回参数说明
ret: 返回码
msg: 如果ret<0,会有相应的错误信息提示,返回数据全部用UTF-8编码
nickname: 昵称
figureurl: 大小为30×30像素的头像URL
figureurl_1: 大小为50×50像素的头像URL
figureurl_2: 大小为100×100像素的头像URL
gender: 性别。如果获取不到则默认返回“男”
vip: 标识用户是否为黄钻用户(0:不是;1:是)
level: 黄钻等级(如果是黄钻用户才返回此参数)
转载请注明:卓非博客 » 巧用php iconv函数处理QQ互联登陆返回值编码问题
你好 辰兄
哈哈。Hi~~~~~