我很难向客户提供项目。工作是将文件打包到存档中;简单吧?好吧,这些文件的名字中都有(并且必须有)法文字符。我正在从linux命令行归档,她正在Windows桌面上打开。
起初,我尝试过“拉链”,但它没有成功。字符支持似乎因我在StackOverflow上阅读的内容而有所不同。在解压缩时,生成的文件看起来不适合我(Ubuntu Archive Manager)或她(WinZip,Windows)。
我们接下来尝试了tar。最后,对我来说看起来很正常,但对客户端来说仍然不行(尝试使用PeaZip和7zip for Windows)。
进入这个,我真的没想到这是一个问题。讲法语的计算机用户必须存档,他们使用的是什么?
对此有任何见解或帮助将不胜感激。谢谢!
答案 0 :(得分:6)
ZIP传统上使用IBM437编码对文件名进行编码。但据我所知,许多工具(不正确)倾向于在系统上使用默认编码,这可能会在这种情况下引起问题,因为两端都可能使用不同的编码。
理论上,ZIP现在也支持UTF-8,它应该可以解决这些问题,但工具支持也会成为问题。例如,据我所知,Windows资源管理器的ZIP支持将无法处理UTF-8编码的文件名。
所以我们最终得到这个:两端必须同意用于文件名的编码,你需要一个支持你所有字符的编码(任何Unicode编码都没问题,我不确定IBM437虽然)。 ZIP有很长的路要走,因此有许多工具倾向于不同意编码。如果可能,请明确指定要使用的编码并选择Unicode。在与任意工具的兼容性方面,您可能会更好,使用考虑到Unicode设计的更新格式。
根据更改日志,7-Zip支持4.58 beta版,但只有当本地代码页不支持所需字符时才会使用它。使用-mcu命令行开关将使用UTF-8作为ASCII以外的任何内容。本地编码通常仅在非ASCII字符范围内有所不同,因此这很可能会成功。也就是说,如果用于解包的工具也支持UTF-8(更有可能是7-ZIP而不是ZIP,因为它不像ZIP那么老,而且解包工具更少)。
WinRAR也值得一试。
答案 1 :(得分:2)
尝试使用存档程序,该程序允许您指定字符编码(例如,UTF-8),或者弄清楚如何使用您拥有的编码。这个论坛帖子可能对你有所帮助,因为它与你所要求的相似,虽然反过来而且是德语而不是法语:http://sourceforge.net/projects/sevenzip/forums/forum/45797/topic/3710172
答案 2 :(得分:0)
或者......你可以核实重音字符。如果法语人员在文件传输的接收端,他们可能会或可能不会同情(询问您的用户!)。
法国并没有那么多的口音需要担心,真的。你有[ae] -grave,e-aigue,[aeiou] -circumflex和c-cedilla担心,资本和较低(虽然这更有可能是坟墓和a,除非有人按下大写密钥)
Tar有--transform选项。如果你创建一个sed模式将每个iso-latin-1重音的aeiou和c字符转换为非重音版本,你可能会没事的。
答案 3 :(得分:0)
我认为你应该采用7z格式的压缩。 在Linux下,它可以使用PeaZip完成,或者安装p7zip并通过像Ark或Filereoller这样的UI使用它,具体取决于你的桌面(我更喜欢PeaZip,因为它可以在任何桌面上使用)。 7z格式的设计考虑了UTF8(作者是俄语),并且在我的经验中它永远不会失败。