Extrai arquivos com trema no arquivo 7zip criado no windows para o Linux

0

Eu quero extrair um grande backup do meu disco rígido comprimido com 7zip no Windows para a minha instalação Debian Wheezy. Eu estou usando a seguinte linha de comando:

7z x -pmypasswordhere file.7z

Se há agora um arquivo ou uma pasta chamada Äpfel (alemão para maçãs), o resultado no disco rígido do Linux é ¤pfel .

Como posso resolver este problema? Eu tentei usar o seguinte, mas isso diz que a linha de comando é inválida:

7z x -scsWIN -pmypasswordhere file.7z

... onde a opção -scs é explicada como: "-scs {UTF-8 | WIN | DOS}: define o conjunto de caracteres para arquivos de lista".

Eu compactei o arquivo no Windows 8 em uma partição NTFS com 7z 9,30 64 bits. As opções foram a força de compactação é Ultra . Eu criptografei nomes de arquivos e seu conteúdo com o AES-265. Minha instalação do Debian Wheezy é alemão, então echo $ LANG é "de_DE.UTF-8".

    
por The Wavelength 25.06.2013 / 15:46

3 respostas

3

Para que "äpfel" se torne "äpfel", seria necessário obter o äpfel {UTF-8} e convertê-lo usando ISO-8859-15 para UTF8. Então você obteria ¤pfel {UTF-8}.

Então, como isso pode acontecer? (Parece não haver ISO-8859-1 [5] (Latin1) no seu fluxo de trabalho).

Eu acredito que eu poderia reproduzir isso em uma partição VFAT ou NTFS usando a opção mount iocharset=value . Se eu configurá-lo para ISO-8859-15 e tivesse uma localidade de UTF-8, então talvez o sistema poderia ser induzido a converter nomes de arquivos "na direção errada".

Mas aqui, sua instalação do Wheezy provavelmente é ext3 e não estou ciente de uma opção NLS para ext3.

Outra possibilidade é que os arquivos sejam corretamente criados , e você está apenas vendo os erros:

  • o Putty está definido para usar o UTF8?
  • o seu servidor FTP (e cliente) está definido como UTF8?

Eu noto outra coisa estranha: seus dois arquivos de maçã, o de 16:10 e o de 16:34, parecem ser exibidos por ls usando dois formatos de data diferentes. Em um caso, o ano é especificado.

Pode ser que 7z esteja criando uma entrada inode ligeiramente incomum?

No entanto, aqui é um truque usando convmv utility que pode ser de ajuda.

    
por 25.06.2013 / 16:56
1

A opção -scs é somente para @listfiles que parece ser um arquivo contendo uma lista de nomes de arquivos. Isso não afetará o conjunto de caracteres de seus nomes de arquivos.

Uma possível solução seria executar iconv com as opções apropriadas em todos os seus arquivos após você os extrair.

    
por 25.06.2013 / 16:00
-1

Depois de extrair o arquivo, basta renomeá-lo via mv ou seu navegador de arquivos, não vai doer.

Para renomear arquivos em massa, se você for forçado a fazer isso, poderá usar find (com -exec) ou krename.

    
por 25.06.2013 / 15:51