php gzcompress编码问题

时间:2015-03-13 07:18:59

标签: php encoding

问题:

嗨,我使用php的gzcompress功能来压缩从php curl请求的google页面。我将它存储为html文件,但在gzuncompress上,某些字符未正确解码。该页面来自google lietuvos。

代码:

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

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

// Uncompressing
gzuncompress($data);

如果我遗失了什么,请告诉我? 谢谢。这里的图像描述

1 个答案:

答案 0 :(得分:1)

鉴于我们掌握的信息很少,我认为这是换行符的问题,并且编码在某处具有字符"\0"null字符)。

您可以做的是:

压缩页面并编码为base64:

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

要解压缩,请从base64解码:

gzuncompress(base64_decode($data));

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

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