Errore durante la compressione di file con caratteri unicode nei nomi con la cartella "invia a> compressa (zippata)" di Win7


12

Quando provo a comprimere i file contenenti caratteri unicode nei loro nomi, come © o ™, ottengo il seguente errore:

[Titolo finestra] Errore cartelle compresse (zippate)

[Contenuto] 'C: \ Asd ™ .txt' non può essere compresso perché include caratteri che non possono essere utilizzati in una cartella compressa, come ™. È necessario rinominare questo file o directory.

[OK]

Questo è diventato un problema solo quando ho reinstallato Windows 7. Probabilmente avevo alcune risorse necessarie da questo errore per essere risolto automaticamente, ma ora è un'installazione quasi pulita e non riesco a comprimere i file. Come posso risolvere questo problema?

UPD: È passato del tempo da quando ho pubblicato questa domanda, ho installato alcune delle mie solite applicazioni, ma il problema persiste e non sono sicuro che possa essere risolto installando un'applicazione specifica di prima.


La compressione integrata di Windows 10 potrebbe non presentare questo problema, come riportato in un commento a questa domanda .


3
Senza offesa, ma cosa c'è di sbagliato nell'usare un programma di compressione adeguato, come WinRAR o 7-Zip (gratuito)?
Karan,

3
Mi è piaciuta la compressione standard di Windows perché sono solo due clic (con una pausa) ed è lì da un'installazione pulita.
user1306322

Ho appena scoperto che zippare con "invia a" di Windows funziona bene come quello "migliore" di Winrar, ma molto più veloce.
user1306322

Vorrei aggiungere che dopo tutto questo inconveniente ho deciso di iniziare a utilizzare 7-zip per l'archiviazione rapida. Forse è qualche clic in più rispetto a prima, ma sicuramente vale la pena sbarazzarsi di quella frustrazione.
user1306322

1
Sembra che la cerniera integrata win 10 ora supporti i nomi di file Unicode.
Imre Pühvel,

Risposte:


17

Se i caratteri offensivi provengono da una lingua diversa dall'inglese ma supportata da una Microsoft, è possibile installare il language pack MUI (Multilingual User Interface) pertinente da Windows Update o il LIP (Language Interface Pack) pertinente da qui come possibile soluzione.

Oltre a quanto sopra, potrebbe essere necessario modificare le impostazioni internazionali del sistema .

Le impostazioni internazionali del sistema determinano il set di caratteri predefinito (lettere, simboli e numeri) e il carattere utilizzato per immettere e visualizzare informazioni nei programmi che non utilizzano Unicode. Ciò consente l'esecuzione di programmi non Unicode sul computer utilizzando la lingua specificata. Potrebbe essere necessario modificare le impostazioni internazionali di sistema predefinite quando si installano lingue di visualizzazione aggiuntive sul computer. La selezione di una lingua diversa per le impostazioni internazionali del sistema non influisce sulla lingua nei menu e nelle finestre di dialogo per Windows o altri programmi che utilizzano Unicode.

Fare così:

  1. Digita "regione" nella casella di ricerca del menu Start (senza virgolette)

  2. Aprire l' applet del pannello di controllo della lingua e della regione

  3. Fare clic sulla scheda Amministrazione , quindi, in Lingua per programmi non Unicode, fare clic su Cambia impostazioni locali del sistema . Se viene richiesta una password amministratore o una conferma, digitare la password o fornire conferma.

  4. Seleziona la lingua, quindi fai clic su OK.

  5. Se ti viene richiesto di riavviare il computer, fai clic su Riavvia ora per farlo.

    Win7 Modifica impostazioni internazionali del sistema


Tuttavia, se i personaggi offendere sono qualcosa come come detto sopra, non credo ci sia alcun fix ufficiale di Microsoft per questa limitazione zipfldr.dll , che esiste fintanto che Windows ha avuto questa funzione (quindi se si ha realmente fatto correzione in precedenza , possibilmente hai installato un componente di terze parti). Da Wikipedia :

Le versioni di Microsoft Windows hanno incluso il supporto per la compressione zip in Explorer dal Plus! il pacchetto è stato rilasciato per Windows 98. Microsoft chiama questa funzionalità "Cartelle compresse". Non tutte le funzionalità zip sono supportate dalla funzionalità Cartelle compresse di Windows. Ad esempio, la crittografia AES, gli archivi divisi o con spanning e la codifica delle voci Unicode non sono noti per essere leggibili o scrivibili dalla funzionalità Cartelle compresse in Windows XP o versioni successive.

Il formato di file ZIP mancava da tempo del supporto Unicde e questa estensione è stata aggiunta solo 6 anni fa nel 2006. Come da APPENDICE D - Codifica lingua (EFS) della specifica del formato di file ZIP :

D.1 Il formato ZIP ha storicamente supportato solo il set di codifica dei caratteri PC IBM originale, comunemente indicato come codice IBM Page 437. Ciò limita la memorizzazione dei caratteri del nome file solo a quelli all'interno dell'intervallo di valori MS-DOS originale e non supporta correttamente nomi di file in altre codifiche di caratteri o lingue. Per ovviare a questa limitazione, questa specifica supporterà la seguente modifica. [ Leggi il documento per il resto. ]

Da allora, ovviamente, tutti i principali archivi di Windows che implementano il formato sono stati aggiornati per includere il supporto Unicode, a cominciare credo con WinZip nel 2008. Sfortunatamente, Microsoft per qualche strano motivo ha concesso in licenza una libreria di terze parti per la sua funzione Compressed Folders (anche se non lo è terribilmente difficile da codificare supporto ZIP), e ovviamente questa libreria precede l'aggiunta di Unicode al formato di file ZIP. Inoltre, come un chiaro segno di quanto si preoccupi di questa funzionalità, Microsoft non ha aggiornato il codice per correggere questo bug fino ad oggi (apparentemente, anche la nuova classe System.IO.ZipArchive nell'ultima versione di .Net Framework ie 4.5 inizialmente non aveva capito bene, ma da allora il bug è stato corretto).Immagino che si aspettino che tutti installino uno dei tanti archivi di terze parti con tutte le funzionalità disponibili, che è esattamente quello che ho raccomandato anche a te sopra.

Puoi leggere i sordidi dettagli su questa peculiare mancanza del supporto Unicode in Windows nelle seguenti serie di post di blog di Michael Kaplan di Microsoft :


PS "Ho appena scoperto che zippare con" invia a "di Windows funziona bene come il" miglior "zippare di Winrar, ma molto più veloce." - L'ho appena provato più volte. Oltre al tempo extra impiegato per aprire WinRAR archivio Aggiungi all'archiviofinestra di dialogo, selezionare ZIP come formato di archivio e premere OK, il tempo effettivo impiegato per la compressione era approssimativamente lo stesso per entrambi, con WinRAR che impiegava meno tempo in generale (anche se le differenze erano trascurabili). Se hai notato un'enorme differenza, avrebbe potuto essere solo se prima avessi testato WinRAR su un set di file, quindi compresso immediatamente gli stessi file con Cartelle compresse. Naturalmente la seconda volta che Windows aveva già memorizzato nella cache i dati, quindi il processo ha richiesto una frazione del tempo che aveva inizialmente. Fallo nell'ordine opposto su una serie di file che non hai toccato prima durante l'attuale sessione di Windows, e scommetto che il risultato sarà invertito. :)

Per quanto riguarda la dimensione compressa finale, a seconda dei dati / combinazione di formati di file archiviati, ho trovato uno dei due risultati migliori (anche se le differenze erano ancora trascurabili). Ovviamente, i formati 7z o Rar (o anche ZipX di WinZip) sono molto migliori in questo senso e batteranno il normale ZIP quasi ogni giorno (cioè ZIP usando l' algoritmo deflate tradizionale / legacy invece di PPMd e simili).


1

Ho avuto lo stesso problema. Usa il gestore 7-zip e comprimi i file e il problema è risolto. :)


1
Sfortunatamente, questo non è il tipo di soluzione che stavo cercando. Ciò comporta l'installazione di software di terze parti, che non è qualcosa che può essere fatto su qualsiasi computer come nel mio caso quando ho posto questa domanda.
user1306322,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.