PHP CURL获取Web Service出现乱码问题
来源:互联网 发布:高夫和妮维雅 知乎 编辑:程序博客网 时间:2024/05/21 00:00
PHP获取API接口数据时,发现解析不了,echo出来发现有乱码。代码如下:
public function testPost(){$url = 'http://api.local/test';$para->name ="edwin";$para->sex ="male";$sPara = json_encode($para);$sPara = "r=" . urlencode($sPara);$sReturn = $this->http_post_data($url, $sPara);echo $sReturn;}function http_post_data($url, $data_string) {$ch = curl_init(); curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);curl_setopt($ch, CURLOPT_HEADER,'Content-Type: application/json');curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);$return_content = curl_exec($ch);//运行curlcurl_close($ch);return $return_content;}
刚开始怀疑是不是对方接口多给了字符,用.net 写测试没有出现任何问题。
然后把返回的数据写入txt,在UltraEdit中打开,用16进制查看,发现是有乱码出现,字符:EF BB BF
再查资料,发现这个叫BOM头:BOM头是隐藏字符,非编辑字符,就像普通空文件一样,当我们写<?php的时候其实之前已经加了BOM头
if (substr( $return_content, 0, 3 ) == "\xEF\xBB\xBF" ){ $return_content=substr_replace( $return_content, '', 0, 3 ) ; }
开发的时候要替换掉它。
参考资料:http://xdebug.blog.51cto.com/1135229/849879
- PHP CURL获取Web Service出现乱码问题
- PHP的curl爬虫出现乱码
- 使用php curl出现的一点问题
- php出现网页乱码问题
- php出现网页乱码??????问题 !!
- Spring restful web service编码乱码问题
- Spring restful web service编码乱码问题
- Spring restful web service编码乱码问题
- php使用curl发送url中文乱码问题
- NuSOAP调用Web Service出现乱码的解决方法
- request.getparameter() 获取中文出现乱码 问题
- PHP输出CSV文件出现乱码问题
- PHP json_encode出现乱码的问题
- php 文件上传出现乱码问题
- PHP CURL POST无法获取响应内容的问题
- curl获取网页内容出现乱码或为空的解决方案,另附curl_getinfo函数解析
- PHP CURL接口问题
- 使用curl获取web页面
- textview Spannable 应用
- 缩小数据文件尺寸报ORA-03297的处理办法
- sharepoint 2010 传入邮件配置
- log4j.properties中log4j.rootLogger 与log4j.rootCategory 有什么区别 .
- Shared Everything和share-nothing区别
- PHP CURL获取Web Service出现乱码问题
- 【Win7系统毋需软件禁止C盘别人写入】
- 删除指定路径根目录所有文件-python
- 新人报道
- android 如何设置背景的透明度
- C++中指针和引用的区别
- 解说Win32的窗口子类化
- 修改MongoDB最大连接数
- objective-c 中 NSNumber 和 NSString 中常见方法的使用