使用Win7的“发送到>压缩(压缩)文件夹”的名称压缩具有Unicode字符的文件时出错


12

当我尝试压缩名称中包含Unicode字符的文件(例如©或™)时,出现以下错误:

[窗口标题]压缩(压缩)文件夹错误

[Content]'C:\ Asd™.txt'无法压缩,因为它包含无法在压缩文件夹(例如™)中使用的字符。您应该重命名该文件或目录。

[好]

仅当我重新安装Windows 7时,这才成为问题。我可能已经从此错误中获取了一些必要的资源来自动解决,但是现在安装几乎是干净的,并且我无法压缩文件。我该如何解决?

UPD:自从我发布此问题以来已经过去了一段时间,我安装了一些常用的应用程序,但是问题仍然存在,并且不确定是否可以通过从以前安装某些特定的应用程序来解决。


如对此问题的评论中所述,Windows 10的内置zip压缩可能不会出现此问题。


3
没有违法行为,但是使用适当的压缩程序(例如WinRAR或7-Zip(免费))怎么了?
卡兰2012年

3
我喜欢标准Windows的压缩,因为只需单击两次即可(带有暂停),并且可以从全新安装那里进行。
user1306322 2012年

我刚刚发现,使用Windows的“发送至”压缩与Winrar的“最佳”压缩一样好,但是速度要快得多。
user1306322 2012年

我想补充一点,在所有这些不便之后,我决定开始使用7-zip进行快速归档。也许点击次数比以前多了,但绝对值得摆脱这种挫败感。
2013年

1
看来win 10内置拉链现在支持Unicode文件名。
ImrePühvel18年

Answers:


17

如果有问题的字符来自英语以外的语言,但Microsoft支持一种语言,则可以从Windows Update 安装相关的MUI(多语言用户界面)语言包,或从此处安装相关的LIP(语言界面包)作为可能的解决方法。

除上述内容外,您可能还需要更改系统区域设置

系统区域设置确定用于在不使用Unicode的程序中输入和显示信息的默认字符集(字母,符号和数字)和字体。这使非Unicode程序可以使用指定的语言在计算机上运行。在计算机上安装其他显示语言时,可能需要更改默认系统区域设置。为系统区域设置选择其他语言不会影响Windows或其他使用Unicode的程序的菜单和对话框中的语言。

为此:

  1. 在“开始”菜单搜索框中键入“区域”(不带引号)

  2. 打开区域和语言控制面板小程序

  3. 单击管理选项卡,然后在非Unicode程序的语言下,单击更改系统区域设置。如果提示您输入管理员密码或确认,请键入密码或提供确认。

  4. 选择语言,然后单击确定。

  5. 如果系统提示您重新启动计算机,请单击“立即重新启动”

    Win7更改系统区域设置


但是,如果有问题的字符是像如上面提到的,我不相信有任何微软官方定为这zipfldr.dll限制,因为Windows已经有了这个功能(即已经存在,只要所以如果你真的做了修复它更早,可能是您安装了某些第三方组件)。从维基百科

自从Plus以来,Microsoft Windows版本已经包括了对Explorer中的zip压缩的支持!该软件包是针对Windows 98发行的。Microsoft将此功能称为“压缩文件夹”。Windows压缩文件夹功能不支持所有的zip功能。例如,Windows XP或更高版本中的“压缩文件夹”功能不知道可读写的AES加密,拆分或扩展的存档以及Unicode条目编码

ZIP文件格式缺乏Unicde支持很长一段时间,而这个扩展仅仅增加6年前每2006年作为附录d -语言编码(EFS)的的ZIP文件格式规范

D.1 ZIP格式在历史上仅支持原始IBM PC字符编码集,通常称为IBM Code Page437。这将存储文件名字符限制为仅在原始MS-DOS值范围内的那些字符,并且不正确支持其他字符编码或语言的文件名。为了解决此限制,本规范将支持以下更改。[ 其余阅读文档。]

从那以后,当然,自2008年以来,我相信所有采用WinZip格式的主要Windows归档文件都已更新为包含Unicode支持。不幸的是,Microsoft出于某种奇怪的原因为其压缩文件夹功能许可了第三方库(尽管它不是很难对ZIP编码进行编码),显然,该库早于将Unicode添加到ZIP文件格式中。此外,由于它到底有多少关心此功能的明显标志,微软还没有更新的代码来修复这个bug 直到日期(显然,即使是新System.IO.ZipArchive在.Net框架,即最新版本类4.5最初没有做到这一点,但是此错误已得到修复)。我想他们希望每个人都可以安装许多可用的功能齐全的第三方存档器之一,这也是我上面向您推荐的。

在Microsoft的Michael Kaplan撰写的以下博客文章系列中,您可以阅读有关Windows中这种特殊的Unicode支持缺乏的肮脏细节:


PS:“我刚刚发现,使用Windows的“发送到”进行压缩的效果与Winrar的“最好”的压缩效果相同,但速度要快得多。-我刚刚测试了多次。除了打开WinRAR的“ 添加到存档”所花费的额外时间在对话框中,选择ZIP作为存档格式,然后按OK,两者的实际压缩时间大致相同,而WinRAR通常花费较少的时间(尽管差异可以忽略不计)。如果您看到了巨大的差异,那么只有先在一组文件上测试了WinRAR,然后立即使用“压缩文件夹”压缩了相同的文件,才有可能。自然,Windows周围的第二次已经缓存了数据,因此该过程只花费了最初时间的一小部分。以相反的顺序对您在当前Windows会话中未曾触摸过的一组文件执行此操作,我敢打赌结果将会相反。:)

至于最终的压缩大小,取决于归档的数据/文件格式的组合,我发现两者中的任何一个做得更好(尽管两者之间的差异可以忽略不计)。当然,在这方面7z或Rar(甚至WinZip的ZipX)格式好得多,并且几乎每天都可以击败普通的ZIP(即使用传统/传统deflate算法而不是PPMd等的ZIP )。


1

我遇到了同样的问题。使用7-zip管理器并压缩文件即可解决问题。:)


1
不幸的是,这不是我一直在寻找的解决方案。这涉及到安装第三方软件,这在任何计算机上都无法完成,就像我问这个问题时一样。
user1306322 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.