php编码小坑之调用新浪天气api和阿凡达天气api
都是说php编码是个坑,果然不假。今天没事,研究微信公众号开发,在查询天气这个功能上,我看好了新浪和阿凡达的这两个api(在这里强烈推荐一下 阿凡达 网站的api,多而全,还有很多都免费的)。
好了,废话不多说了,坑在哪儿?主要是urlencode()上,因为很多时候发送http请求需要携带中文参数,这几涉及到了url编码的问题!这个函数就是其实主要就是把中文参数转成十六进制,然后填写到url中。
直接说问题:如果源字符串的编码编码方式不同,那用urlencode()转完的结果也不同。如下:
$src1 =' 北京'(utf-8)
echo urlencode($src); //结果:%E5%8C%97%E4%BA%AC
$src2 =' 北京'(gb2312)
echo urlencode($src2);//结果%B1%B1%BE%A9
新浪的api需要gb2313的,阿凡达的需要utf-8的,连个都没有说明,因为的IDE默认是utf-8的,新浪的死活不成功,突然想到这个问题,试了下,果然!(白白浪费了我2个小时)
PS:要注意,要把utf-8的编码转成gb2132的,要$content = iconv("utf-8","gb2312//IGNORE","北京");这样,否则会出错
这是调用阿凡达的天气api代码,不谢
$ch = curl_init(); $this_header = array( "content-type: application/x-www-form-urlencoded; charset=UTF-8" ); curl_setopt($ch,CURLOPT_HTTPHEADER,$this_header); //$content = iconv("utf-8","gb2312//IGNORE","北京"); //echo $content; //$url = "http://php.weather.sina.com.cn/xml.php?city=".urlencode($content)."&password=DJOYnieT8234jlsK&day=0"; $url = "http://api.avatardata.cn/Weather/Query?key=“你申请的key”&cityname=".urlencode("北京"); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); $outPut = curl_exec($ch); curl_close($ch); var_dump($outPut);
php编码小坑之调用新浪天气api和阿凡达天气api相关推荐
- 用WebService实现调用新浪的天气预报功能
用WebService实现调用新浪的天气预报功能 用WebService实现天气预报的查询 这是获取天气Web服务代码,转自书上. 1.请在网站根目录下添加一个"Web服务",命名 ...
- 关于调用新浪支付接口
最近公司要做一个新浪支付接口的应用. 首先你得确认已成功申请到应用appkey 及appSecret. 要想调用新浪的支付接口还得申请一个支付key.这些都准备完毕了.接下来调用新浪官方的接口 接口一 ...
- api.php t.cn,PHP通过调用新浪API生成t.cn格式短网址链接的方法详解
本文实例讲述了PHP通过调用新浪API生成t.cn格式短网址链接的方法.分享给大家供大家参考,具体如下: 新浪提供了长链接转为短链接的API,可以把长链接转为 t.cn/xxx 这种格式的短链接. A ...
- php新浪api,php调用新浪短链接API的方法,php调用新浪api_PHP教程
php调用新浪短链接API的方法,php调用新浪api 本文实例讲述了php调用新浪短链接API的方法.分享给大家供大家参考.具体方法如下: 复制代码 代码如下: //Sina App_Key def ...
- 新浪短链api java_php调用新浪短链接API的方法
本文实例讲述了php调用新浪短链接API的方法.分享给大家供大家参考.具体方法如下: //Sina App_Key define('SINA_APPKEY', '31641035'); functio ...
- php短链接api,PHP通过调用新浪API生成t.cn格式短网址链接的方法详解
本文实例讲述了PHP通过调用新浪API生成t.cn格式短网址链接的方法.分享给大家供大家参考,具体如下: 新浪提供了长链接转为短链接的API,可以把长链接转为 t.cn/xxx 这种格式的短链接. A ...
- php查询ip归属地api接口_php调用新浪接口查询ip获取地理位置(ip归属地查询)
php调用新浪接口查询ip获取地理位置(ip归属地查询) 发布于 2014-11-17 08:35:58 | 115 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: ...
- php调用新浪短链接API转短链接
调用新浪短链api,长链接可转为http://t.cn/RX7mLZh这种t.cn短链,同时可转回原链接! //新浪的App_Key const SINAAPPKEY = '291**161014'; ...
- Linux上的服务器无法调用新浪邮箱发送邮件
问题背景: 在web网站开发中,有许多功能的实现需要发送邮件,比如用户的密码找回功能,可能就需要通过服务器向用户的注册邮箱发送验证码邮件来实现.而发送邮件功能可以通过很多方式实现,比如HTML中的ma ...
- PHP调用新浪API 生成短链接
我们经常收到类似于这样的短信(如下图),发现其中的链接并不是常规的网址链接,而是个短小精悍的短链接,产品中经常需要这样的需求,如果在给用户下发的短信中是一个很长的连接,用户体验肯定很差,因此我们需要实 ...
最新文章
- 开源模式反击之后,白嫖服务商竟然大叫“你不讲武德!”
- python语言百分号的含义_python【百分号】
- TCP的困境与解决方案
- c语言经典算法——查找一个整数数组中第二大数
- 深搜DFS\广搜BFS 图初步入门
- 14位顶级哲学家对生命的经典感悟!若能领悟受益终生!
- 共享单车当废铁卖 ofo回应:已达报废年限
- sqlite的交叉编译及移植 -转
- 平均聚类系数_聚类方法排除CPU用量误报警
- 关于Oracle表访问方式的总结
- 正交匹配追踪算法(OMP)
- 单径瑞利信道的BPSK相干解调的理论误码率推导与MATLAB分析(1)
- 游戏模型提取_腾讯手Q游戏中心的个性化推荐实战
- 极客星球 | Unity3D插件模板化探索
- openssl密码套件详解
- 微信支付-----扫码支付,统一下单
- Python爬虫学习简单入门(第四含scrapy安装)
- Oracle 日志解析ogg,对一段OracleGoldenGate(OGG)传输进程日志(.rpt文件)的解释
- 批量自定义裁剪多张图片,可以按固定像素值或比例批量裁剪图片
- bailian.openjudge 2712:细菌繁殖
热门文章
- 数据库表,excel,cvs 联系人转vcf
- 自定义异常 extends Exception
- python中chr()和ord()函数的用法
- Apache shiro 官方API (中文版)(承蒙大佬们看重 小弟整理了下 无需积分 编辑的不好 希望帮到你们)
- 打开应用商店显示服务器出错了,Win10应用商店提示“我们这边出错了”的三种解决方法...
- delphi显示jpg、png、gif图片
- 服务器配置高点网站打开速度,网站打开速度慢,你必须要解决的事?
- Python绘制用于学术论文投稿的黑白图片
- 详细讲解电脑怎么录屏 电脑录制视频的方法
- 一篇小文入门 Python