解决curl获取结果乱码的方法
当使用curl获取结果出现乱码时,可以尝试以下方法解决: 1. 设置curl的字符编码为正确的编码格式,如UTF-8。 2. 使用`iconv`命令将获取到的结果转换为正确的编码格式。 3. 检查目标网站的响应头中是否包含正确的字符编码信息,如果没有,可以尝试添加`Accept-Charset: utf-8`请求头。 4. 如果以上方法都无法解决问题,可能是服务器端的问题,需要联系服务器管理员进行处理。
//php脚本开始/*POST请求远程内容函数*/functionppost($url,$data,$ref){//模拟提交数据函数$curl=curl_init();//启动一个CURL会话curl_setopt($curl,CURLOPT_URL,$url);//要访问的地址curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,0);//对认证证书来源的检查curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,1);//从证书中检查SSL加密算法是否存在curl_setopt($curl,CURLOPT_USERAGENT,$_SERVER[‘HTTP_USER_AGENT’]);//模拟用户使用的浏览器curl_setopt($curl,CURLOPT_FOLLOWLOCATION,1);//使用自动跳转curl_setopt($curl,CURLOPT_REFERER,$ref);curl_setopt($curl,CURLOPT_POST,1);//发送一个常规的Post请求curl_setopt($curl,CURLOPT_POSTFIELDS,$data);//Post提交的数据包curl_setopt($curl,CURLOPT_COOKIEFILE,$GLOBALS[‘cookie_file’]);//读取上面所储存的Cookie信息curl_setopt($curl,CURLOPT_COOKIEJAR,$GLOBALS[‘cookie_file’]);//存放Cookie信息的文件名称curl_setopt($curl,CURLOPT_HTTPHEADER,array(‘Accept-Encoding:gzip,deflate’));curl_setopt($curl,CURLOPT_ENCODING,‘gzip,deflate’);这个是解释gzip内容……………..curl_setopt($curl,CURLOPT_TIMEOUT,30);//设置超时限制防止死循环curl_setopt($curl,CURLOPT_HEADER,0);//显示返回的Header区域内容curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);//获取的信息以文件流的形式返回$tmpInfo=curl_exec($curl);//执行操作if(curl_errno($curl)){echo‘Errno’.curl_error($curl);}curl_close($curl);//关键CURL会话return$tmpInfo;//返回数据}