curl获取结果乱码的解决方法
做项目的时候,遇到curl获取的结果是乱码,添加header文字编码也没用。找了很多资料,终于解决了,以下是解决办法,记录一下。
1、发送请求时添加header
$header = ['Accept-Encoding: gzip, deflate, br',];
2、curl 那边 添加解密方法
curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate,br'); //这个是解释gzip内容……
问题解决了。
附各种header:
它的意思是设置页面内容是html,编码格式是utf-8。
header()函数的作用是:发送一个原始 HTTP 标头[Http Header]到客户端。
标头 (header) 是服务器以 HTTP 协义传 HTML 资料到浏览器前所送出的字串,在标头与 HTML 文件之间尚需空一行分隔。在 PHP 中送回 HTML 资料前,需先传完所有的标头。
常用header汇总:
header('Content-Type: text/html; charset=utf-8'); //网页编码
header('Content-Type: text/plain'); //纯文本格式
header('Content-Type: image/jpeg'); //JPG、JPEG
header('Content-Type: application/zip'); // ZIP文件
header('Content-Type: application/pdf'); // PDF文件
header('Content-Type: audio/mpeg'); // 音频文件
header('Content-type: text/css'); //css文件
header('Content-type: text/javascript'); //js文件
header('Content-type: application/json'); //json
header('Content-type: application/pdf'); //pdf
header('Content-type: text/xml'); //xml