日志标签:移动联盟

百度移动联盟投放代码中file_get_contents获取$url页面乱码解决方法

Time:2011-03-12 下午 18:21:11 周六 by 黄小蚊 归属:IT互联网 已 1,737 次浮現 評論:評論關閉

百度移动联盟平台的上线对WAP行业来说是个不可多得的好消息。特别是移动电子商务的推广。
在使用百度提供的投放代码之后整个WML网页出现乱码,GG了一下找到了解决方法。

         百度帮助文档里提供的投放PHP代码如下:
< ?php 
    $url = ‘http://imn.baidu.com/ab/?id=123456’; //请求地址
    $ec = ‘utf8’; //编码方式
        // 将url组织成类似http://imn.baidu.com/ab/?id=123456&ec=xxx的格式
        // 将获得的内容,输出到页面上的相关位置,这里会获得一段页面代码
     echo file_get_contents($url.’&’.$ec);
?>

由于我本身是UTF-8格式的网页编码而file_get_contents获取过来的网页默认是GBK的,添加了以上投放代码之后整个WML网页出现乱码
百度提供的转换方式$ec = ‘utf8’; //编码方式 似乎并不适用于我,不知道其它朋友怎么样。
解决方法如下:
我们可以使用 iconv命令:可以将一种已知的字符集文件转换成另一种已知的字符集文件。

< ?php
   $url = iconv("gb2312" , "utf-8" , file_get_contents('http://imn.baidu.com/ab/index.php?id=57'));
   echo $url;
?>

大功告成!在百度移动联盟代码投放中使用asp.net和jsp出现乱码的也可以做相应的转换,不再细述.
附精美乱码图: