Extraindo arquivos zip com sem caracteres errados (mojibake)
Dica publicada em Linux / Sistema de Arquivos
Extraindo arquivos zip com sem caracteres errados (mojibake)
Arquivos zip com nomes com caracteres especiais (como acentos ou caracteres japoneses), que foram criados no Windows, constantemente causam problemas ao serem extraídos em máquinas GNU/Linux que usam UTF-8.
Isso ocorre pois o unzip do Linux não faz a conversão corretamente durante a extração, criando arquivos com nomes cheios de caracteres errados (os chamados mojibake).
Algumas formas de resolver isso são:
1. Usar o Ubuntu. O Ubuntu tem uma versão patcheada do aplicativo unzip que se propõe a corrigir esse bug (não-testado);
2. Algumas pessoas reportam sucesso ao usar o p7zip ao invés do unzip para extrair esses arquivos;
3. Utilizar a versão Unzip-natspec, disponível em PPAs do Ubuntu, nos repositórios do Gentoo, e no AUR do Arch. Foi a solucão mais fácil e rápida, não requerendo qualquer configuracão adicional.
4. Converter manualmente. Isso envolve mudar a variável $LANG para o encoding do arquivo, extraí-lo com o 7zip e utilizar o convmv para fazer a conversão. Num arquivo japonês, por exemplo, os comandos seriam:
LANG=ja_JP
$ 7z x arquivo.zip
$ convmv --notest -f shift-jis -t utf8 -r arquivo/
Espero que ajude as pessoas tendo problemas com nomes de arquivos zipados criados no Windows!
Isso ocorre pois o unzip do Linux não faz a conversão corretamente durante a extração, criando arquivos com nomes cheios de caracteres errados (os chamados mojibake).
Algumas formas de resolver isso são:
1. Usar o Ubuntu. O Ubuntu tem uma versão patcheada do aplicativo unzip que se propõe a corrigir esse bug (não-testado);
2. Algumas pessoas reportam sucesso ao usar o p7zip ao invés do unzip para extrair esses arquivos;
3. Utilizar a versão Unzip-natspec, disponível em PPAs do Ubuntu, nos repositórios do Gentoo, e no AUR do Arch. Foi a solucão mais fácil e rápida, não requerendo qualquer configuracão adicional.
4. Converter manualmente. Isso envolve mudar a variável $LANG para o encoding do arquivo, extraí-lo com o 7zip e utilizar o convmv para fazer a conversão. Num arquivo japonês, por exemplo, os comandos seriam:
LANG=ja_JP
$ 7z x arquivo.zip
$ convmv --notest -f shift-jis -t utf8 -r arquivo/
Espero que ajude as pessoas tendo problemas com nomes de arquivos zipados criados no Windows!
Abraço!