Erro de codificação e decodificação em um nome não-inglês de arquivo compactado

5

Eu tenho um arquivo rar. Após a extração, gera um arquivo com nome chinês que é mostrado no Nautilus como:

  

ѧ. . ѧ .2008.djvu (codificação inválida)

No terminal, é mostrado como:

<BD><FC><B4><FA><D7><E9><BA><CF>ѧ.<CD><F5><CC><EC><C3><F7>.<B4><F3><C1><AC><C0><U+DE64><B4><F3>ѧ<B3><F6><B0><E6><C9><E7>.2008.djvu

O conteúdo do arquivo rar listado pelo unrar está correto:

$ unrar l 近代组合学.王天明.大连理工大学出版 社.2008.rar    
UNRAR 3.93 freeware      Copyright (c) 1993-2010 Alexander Roshal    
Archive 近代组合学.王天明.大连理工大学出版社.2008.rar    
 Name             Size   Packed Ratio  Date   Time     Attr      CRC   Meth Ver
-------------------------------------------------------------------------------
 近代组合学.王天明.大连理工大学出版社.2008.djvu  6190416  6187189  99% 03-06-11 10:33  .....A.   98320D40 m3g 2.9
-------------------------------------------------------------------------------
    1          6190416  6187189  99%

O arquivo não pode ser aberto a menos que eu mude seu nome para algo como 1.djvu.

Eu estava me perguntando por que os caracteres não são mostrados corretamente com o nome chinês do arquivo compactado, enquanto eu posso criar um diretório ou arquivo com nome chinês?

Como devo fazer?

Obrigado e cumprimentos!

    
por Tim 10.06.2011 / 22:08

4 respostas

5

Talvez o programa de arquivamento gráfico não entenda chinês. Tente extrair o arquivo usando a linha de comando:

  1. Abra um terminal .
  2. Navegue até o diretório que contém o arquivo:

    cd /path/to/directory/
    

    Você pode usar a tecla Tab para completar nomes de arquivos e diretórios. Pressione duas vezes o botão Tab para obter uma lista de possíveis conclusões, caso haja mais de uma opção.

  3. Execute o programa unrar para descompactar filename.rar :

    unrar x filename.rar
    

    Aqui, você também pode usar a conclusão de tabulação para o nome do arquivo.

  4. O conteúdo do arquivo ficará visível no diretório atual.
por Lekensteyn 10.06.2011 / 22:45
3

Parece que o nome do arquivo usa uma codificação de caracteres diferente do seu ambiente. O personagem ѧ (CYRILLIC PEQUENO LETTER LITTLE YUS) provavelmente não faz parte de um nome de arquivo chinês.

Você tem alguma informação sobre o sistema operacional e configurações de idioma em que o arquivo foi criado? Você sabe quais codificações de caracteres são comuns para codificar nomes de arquivos chineses?

Se você souber a codificação dos nomes de arquivo, poderá usar convmv (não instalado por padrão) para convertê-lo para a codificação que você usa (provavelmente UTF-8).

    
por Florian Diesch 10.06.2011 / 22:43
1

tente isto:

unrar --enable-charset x 
    
por Dmitry Krivenko 17.04.2013 / 11:53
1

Eu tive o mesmo problema com o arquivo rar que continha nomes com letras cirílicas. Consegui corrigi-lo reinstalando unrar , pois é sugerido aqui :

$ sudo apt-get remove rar
$ sudo apt-get remove unrar
$ sudo apt-get install unrar

Descobrimos que, por padrão, a versão de código aberto de rar & amp; unrar utilities está instalado no Ubuntu: "unrar 0.0.1 Copyright (C) 2004 Ben Asselstine, Jeroen Dekkers". Esta versão não lida bem com símbolos não-ascii.

Depois de reinstalar o unrar da versão atual instalada do repositório "restrito" (software proprietário) (observe que isso deve ser ativado nas configurações de atualização): "freeware UNRAR 5.40 Copyright (c) 1993-2016 Alexander Roshal "

Esta versão manipula símbolos Unicode, pelo menos funcionou para mim com letras cirílicas.

Note que a remoção da versão open source do rar / unrar também corrigiu um problema com o software GUI:

    
por Vladimir L. 07.07.2017 / 10:46

Tags