巧用php iconv函数处理QQ互联登陆返回值编码问题

Develop-开发 8298 Views 0 Comments
文章目录[点击显示]

    在开发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,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

最新评论 (2)

  1. 你好 辰兄

    刘佳鹏2012-08-25 10:26 回复
    • 哈哈。Hi~~~~~

      admin2012-08-25 11:37 回复