在使用 PHP curl 库时,我们可以通过设置 CURLOPT_ENCODING 选项来设置编码。这个选项可以让 cURL 自动解析编码,防止乱码出现。
示例代码如下:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.example.com");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_ENCODING, 'gzip, deflate'); // 设置编码
$response = curl_exec($ch);
curl_close($ch);
在上面的代码中,我们将 CURLOPT_ENCODING 选项设置为 'gzip, deflate'。这可以让 cURL 自动解压缩使用 gzip 或 deflate 压缩的响应,并解析正确的字符编码。
需要注意的是,有些网站可能使用了非标准的压缩算法或编码方式,这时候我们需要手动定义编码方式。在这种情况下,我们可以针对特定的网站设置 CURLOPT_ENCODING 选项的值。