php gzcompress 编码问题

php gzcompress encoding issue

问题:

您好,我使用了 php 的 gzcompress 函数来压缩从 php curl 请求的 google 页面。我将其存储为 html 文件,但在 gzuncompress 上,某些字符未解码 correctly.The 页面来自 google lietuvos。

代码:

// Encoding used in curl request
curl_setopt($ch, CURLOPT_ENCODING , 'gzip,deflate'); 

//Compressing
gzcompress($res['page'],9);

// Uncompressing
gzuncompress($data);

如果我遗漏了什么请告诉我? 在此感谢you.enter 图片说明

鉴于我们掌握的信息很少,我认为这是换行符和某处具有字符 "[=12=]"null 字符)的编码的问题。

您可以做的是:

压缩页面并编码为base64:

base64_encode(gzcompress($res['page'],9));

解压,从base64解码:

gzuncompress(base64_decode($data));

这将确保所有内容都按原样写入和读取,开销约为 33%。

这个问题还有其他解决方案,但这是最简单的。