sexta-feira, 11 de julho de 2008

Baixando arquivos gzip no FF3

Quem usa o navegador FireFox e costuma baixar arquivos compactados com gzip já deve ter reparado que, a partir de FireFox 3, os arquivos baixados estão "corrompidos". Na verdade, não estão corrimpidos, mas sim "descompactados", mas com nome de compactado: o arquivo é salvo com a extensão .gz (por exemplo) mas na verdade está descompactado.

Não sei o motivo deste comportamento, se é um bug ou proposital, se já há atualizações para isso, mas o fato é que é muito incômodo ter que recompactar os arquivos ou renomeá-los ou abrir outro navegador apenas para baixá-los corretamente.

Numa vasculhada no suporte da Mozilla, encontrei uma referência à preferência network.http.accept-encoding. Sua opção padrão estava "gzip, deflate". Mudei para "gzip" mas não funcionou; então deixei em branco e finalmente funcionou!

Para acessar essa opção, digite "about:config" na barra de endereços do FireFox.

Está dada a dica.

* * * A T U A L I Z A Ç Ã O * * *

04/08/2008

Encontrei uma solução muito melhor. Como meu amigo Alexandre expôs em seu comentário, a solução acima interfere gravemente no funcionamento de páginas como o orkut, além de não ser uma boa prática.

O problema ocorria no meu código de download de backup gzipado de bancos de dados MySQL, que foi baseado no código do phpMyAdmin (export.php). Apenas comentei uma linha em meu arquivo backup.php:

//header('Content-Encoding: x-gzip');

e o problema foi resolvido. Agora os backups vêm compactados como desejado.

2 comentários:

Alexandre (Alex Starr) disse...

Infelizmente fazer essa alteração dá efeitos colaterais graves em alguns sites, como o orkut.
Talvez haja alguma outra saída, visto que é um tipo de arquivo muito usado, principalmente com usuários Linux.

Sony Santos disse...

De fato, encontrei outra saída. Atualizei o texto do post.