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