Erro ao compactar arquivos com caracteres unicode em nomes com a pasta “send to> compact (ziped)” do Win7

12

Quando tento compactar arquivos que contêm caracteres unicode em seus nomes, como © ou ™, recebo o seguinte erro:

[Título da janela] Erro nas pastas compactadas (zipadas)

[Conteúdo] 'C: \ Asd ™ .txt' não pode ser compactado porque inclui caracteres que não podem ser usados ​​em uma pasta compactada, como o ™. Você deve renomear este arquivo ou diretório.

[ESTÁ BEM]

Isso só se tornou um problema quando eu reinstalei o Windows 7. Eu provavelmente tinha alguns recursos necessários para esse erro ser resolvido automaticamente, mas agora é uma instalação quase limpa e não consigo compactar arquivos. Como faço para corrigir isso?

UPD: Passado algum tempo desde que postei essa pergunta, instalei alguns dos meus aplicativos habituais, mas o problema ainda existe e não tenho certeza se ele pode ser corrigido com a instalação de algum aplicativo específico antes.


O zíper interno do Windows 10 pode não ter esse problema, conforme relatado em um comentário a esta pergunta .

user1306322
fonte
3
Sem ofensas, mas o que há de errado em usar um programa de compactação adequado, como o WinRAR ou o 7-Zip (gratuito)?
22412 Karan
3
Eu gostei do fechamento padrão das janelas porque são apenas dois cliques (com uma pausa) e existe desde uma instalação limpa.
User1306322
Acabei de descobrir que o zipar com o "send to" do Windows funciona tão bem quanto o "melhor" do Winrar, mas muito mais rápido.
User1306322
Gostaria de acrescentar que, depois de todo esse inconveniente, decidi começar a usar o 7-zip para arquivamento rápido. Talvez sejam mais alguns cliques do que antes, mas definitivamente vale a pena se livrar dessa frustração.
user1306322
1
Parece que o win 10 zipper embutido agora suporta nomes de arquivos unicode.
Imre Puhvel

Respostas:

17

Se os caracteres ofensivos são de um idioma diferente do Inglês, mas um suporte da Microsoft, você pode instalar o relevante MUI (Multilingual User Interface) pacote de idioma a partir do Windows Update ou a relevante LIP (Language Interface Pack) a partir daqui como uma possível correção.

Além do acima, você também pode precisar alterar a localidade do sistema .

O código do idioma do sistema determina o conjunto de caracteres padrão (letras, símbolos e números) e a fonte usada para inserir e exibir informações em programas que não usam Unicode. Isso permite que programas não Unicode sejam executados no seu computador usando o idioma especificado. Pode ser necessário alterar o código do idioma padrão do sistema ao instalar idiomas de exibição adicionais no seu computador. A seleção de um idioma diferente para a localidade do sistema não afeta o idioma nos menus e caixas de diálogo do Windows ou outros programas que usam Unicode.

Para fazer isso:

  1. Digite "region" na caixa de pesquisa do Menu Iniciar (sem as aspas)

  2. Abra o applet de painel de controle de região e idioma

  3. Clique na guia Administrativo e, em Idioma para programas não Unicode, clique em Alterar localidade do sistema . Se você for solicitado a fornecer uma senha ou confirmação de administrador, digite a senha ou forneça a confirmação.

  4. Selecione o idioma e clique em OK.

  5. Se você for solicitado a reiniciar o computador, clique em Reiniciar agora para fazer isso.

    Localização do sistema de alterações do Win7


No entanto, se os caracteres incorretos forem algo como ™, como mencionado acima, não acredito que exista uma correção oficial da Microsoft para essa limitação do zipfldr.dll , que existe desde que o Windows tenha esse recurso (por isso, se você realmente o corrigiu anteriormente) , possivelmente você instalou algum componente de terceiros). Da Wikipedia :

As versões do Microsoft Windows incluem suporte para compactação zip no Explorer desde o Plus! foi lançado para o Windows 98. A Microsoft chama esse recurso de "Pastas compactadas". Nem todos os recursos zip são suportados pelo recurso Pastas Compactadas do Windows. Por exemplo, a criptografia AES, os arquivos divididos ou estendidos e a codificação de entrada Unicode não são legíveis ou graváveis ​​pelo recurso de pastas compactadas no Windows XP ou em versões posteriores.

O formato de arquivo ZIP não possuía suporte a Unicde por muito tempo, e essa extensão foi adicionada apenas há 6 anos em 2006. Conforme o APÊNDICE D - Codificação de Idioma (EFS) da Especificação de Formato de Arquivo ZIP :

D.1 O formato ZIP historicamente suporta apenas o conjunto de codificação de caracteres IBM PC original, conhecido como IBM Code Page 437. Isso limita o armazenamento de caracteres de nome de arquivo apenas àqueles dentro do intervalo de valores original do MS-DOS e não suporta adequadamente nomes de arquivos em outras codificações de caracteres ou idiomas. Para resolver essa limitação, esta especificação suportará a seguinte alteração. [ Leia o documento para o resto. ]

Desde então, é claro, todos os principais arquivadores do Windows que implementam o formato foram atualizados para incluir o suporte a Unicode, começando com o WinZip em 2008. Infelizmente, por algum motivo estranho, a Microsoft licenciou uma biblioteca de terceiros para seu recurso de Pastas Compactadas (embora não seja extremamente difícil de codificar o suporte ZIP) e, obviamente, essa biblioteca antecede a adição de Unicode ao formato de arquivo ZIP. Além disso, como um sinal claro de quanto ele se importa com esse recurso, a Microsoft não atualizou o código para corrigir esse bug até a data (aparentemente, até a nova classe System.IO.ZipArchive na versão mais recente do .Net Framework, ou seja, 4.5 não acertou inicialmente, mas o bug foi corrigido).Eu acho que eles esperam que todos instalem um dos muitos arquivadores de terceiros disponíveis, o que é exatamente o que eu recomendei acima.

Você pode ler os detalhes sórdidos sobre essa falta peculiar de suporte a Unicode no Windows na seguinte série de postagens de blog de Michael Kaplan, da Microsoft :


PS "Acabei de descobrir que fechar com" enviar para "do Windows funciona tão bem quanto o" melhor "fechamento do Winrar, mas muito mais rápido. - Acabei de testar isso várias vezes. Além do tempo extra necessário para abrir o WinRAR's Adicionar ao arquivoNa caixa de diálogo, selecione ZIP como o formato de arquivo e pressione OK; o tempo real necessário para a compactação foi aproximadamente o mesmo para ambos, com o WinRAR demorando menos tempo em geral (embora as diferenças sejam insignificantes). Se você viu uma enorme diferença, só poderia ter sido se você testou o WinRAR em um conjunto de arquivos primeiro e depois compactou imediatamente os mesmos arquivos com as Pastas compactadas. Naturalmente, a segunda vez em que o Windows já havia armazenado os dados em cache, portanto o processo levou uma fração do tempo inicial. Faça isso na ordem oposta em um conjunto de arquivos que você não tocou anteriormente durante a sessão atual do Windows, e aposto que o resultado será revertido. :)

Quanto ao tamanho final compactado, dependendo dos dados / combinação de formatos de arquivo arquivados, encontrei um dos dois fazendo um trabalho melhor (embora, novamente, as diferenças sejam insignificantes). Claro, o 7z ou Rar (ou mesmo do WinZip Zipx) formatos são muito melhor a este respeito e vai bater simples ol' ZIP quase todos os dias (ou seja, zip usando o tradicional / legado deflate algoritmo em vez de PPMd e similares).

Karan
fonte
1

Eu tenho o mesmo problema. Use o gerenciador de 7 zip e zip seus arquivos e o problema está resolvido. :)

Jaivin
fonte
1
Infelizmente, esse não é o tipo de solução que eu estava procurando. Isso envolve a instalação de software de terceiros, o que não é algo que pode ser feito em qualquer computador como era no meu caso quando fiz essa pergunta.
User1306322