不完美

探讨了在Windows与Linux间传输包含中文文件名的ZIP压缩包时出现乱码的问题,分析了造成此现象的根本原因,并尝试寻找解决方案。

不完美

无论你Linux用得多么逍遥自在,总要与周围的Windows交流,文件或者消息。传

递文件的一个方法是使用ZIP压缩包。

这个时候麻烦就来了。

在windows下压缩的文件,在Linux解压以后,文件名成了乱码;在Linux下压缩

的文件,在Windows下也是乱码。

Windows和windows之间是没有问题的。如果你只用Windows的话,这个麻烦反倒是

不存在。

Linux尚是小众,没资格说 如果你只用Linux的话,这个麻烦也不存在。

这个麻烦的原因是,Windows的文件系统的编码是GBK,而Linux,比如Ubuntu,

使用了UTF8作为文件系统的编码。

编码无所谓好坏,就像世界上的语言无所谓好坏。一群中国人大读“法语是世界

上最伟大的语言“,那是因为念课文。

只见过windows的人,可能连文件系统是啥都不知道,更不用说这东西居然也有编

码。

但是,少数人确实是存在的。

当多数人缺少对少数人的包容的时候…少数人就得点包容多数人的胸怀。这个说起

来话长,就此打住。

所以,我不用7Z压缩,虽然它那么先进。因为项目组的同学们习惯使用ZIP或者

RAR。

所以,我还是有机器里装着IE游览器,因为网银啥的。

理想主义是可以存在的,但是,不能用来要求别人。

显然不能要求合作者把WINDOWS文件系统改成UTF8;我也不想把LINUX文件系统改

成GBK,因为我在EMACS写文档什么的,要在UTF8下进行。

怎么办?

网上有人说,没招。

还有人说,有一个工具,叫convmv,可以把文件名改为某种编码。不幸的是,我

用它改的名字,压缩以后在windows下看来,只是与UTF8产生的乱码

不同,但仍是乱码。而且,这些文件名的有些乱码组合是非法文件名,不能被压

到压缩包里。

有人做了个python脚本,能把ZIP中的文件名改为UTF8,然后再解压。但是这并

不能解决发给WINDOWS用户的压缩包里仍是乱码。

ZHUMAO把文件系统改成了GBK,可是我需要UTF8。

我试了一大顿,没有找到解决之道。

也许,先设置locale,然后再压缩,然后再把locale改回来,说不定是个解决之

道。但是我觉得太麻烦了。说不定,emacs下的五笔还得调整。

所以,准备暂时拒绝接收压缩包里有中文文件名的;而发出的包就好办了,不起

中文文件名。

有的朋友可能想到了一个更聪明的办法,就是不使用Linux,或者干脆不允许

Linux存在。或者反过来让windows消失,这样矛盾就完全消失了。

这当然解决了问题。不过,还是不说了吧。

今天到这。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值