Javascript 在zip存档中编码文件名以正确显示在windows资源管理器中

Javascript 在zip存档中编码文件名以正确显示在windows资源管理器中,javascript,character-encoding,zip,windows-explorer,Javascript,Character Encoding,Zip,Windows Explorer,在我们的网站上,我们在客户端生成zip存档。此存档中的文件在文件名中包含nonASCII(西里尔文)字符。如果正确显示,请使用7zip文件名。但是我们网站的一些用户用windows资源管理器打开了这个zip档案,在这种情况下,文件名显示不正确 是否有方法对文件名进行编码,以便在windows资源管理器zip查看器中正确显示?在windows 7之前(包括windows 7)的windows资源管理器处理zip归档文件的能力较差。zip格式规范不强制编码,windows资源管理器使用。它不处理un

在我们的网站上,我们在客户端生成zip存档。此存档中的文件在文件名中包含nonASCII(西里尔文)字符。如果正确显示,请使用7zip文件名。但是我们网站的一些用户用windows资源管理器打开了这个zip档案,在这种情况下,文件名显示不正确


是否有方法对文件名进行编码,以便在windows资源管理器zip查看器中正确显示?

在windows 7之前(包括windows 7)的windows资源管理器处理zip归档文件的能力较差。zip格式规范不强制编码,windows资源管理器使用。它不处理unicode元数据(语言编码标志或Info ZIP unicode路径额外字段):您必须使用将打开文件的计算机的区域设置(这会导致许多兼容性问题)

JSZip还不支持自定义编码,但有一个

另一个“解决方案”是只使用ASCII名称(这是本文的结论)


您也可以使用utf8文件名,但必须强制用户至少升级到Windows 8或安装7zip(这可能不是最实用的解决方案)。

谢谢David的回答。你证实了我最坏的预感。我认为解决我的问题的最好办法是将文件名音译为ASCII。再次感谢。