I've seen this happen on sites where the web server is mis-configured and sends back a compressed page whether or not the client indicates that it can cope with that. (A client indicates this with the Accept-Encoding
header, which file_get_contents won't send.) This generally works in web browsers, as they either request the page compressed by default, or they cope with a gzipped response even if they didn't ask for one.
(Incidentally, if on a unix-derived system, you can easily confirm that what comes back is gzipped by saving it to a file and then running file on it. Or just look at the first couple of bytes of the result yourself—gzip data starts with 1F 8B.)
Rather than unzip the content manually, I'd personally use PHP's curl library instead. You can configure that to request the content gzipped, and if you do, it will transparently uncompress the result for you:
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, 'http://actualidad.rt.com/actualidad');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_ENCODING , 'gzip');
$content = curl_exec ($ch);
This is more future-proof than manually decoding the result, as if the web server gets properly configured in the future to send back plain text to clients which can't handle gzip, this code will still request and decode the compressed version.