分类: LINUX
2016-09-28 21:08:45
gorgira@ubuntu-1404:~/zip/unzip-6.0$ unzip -l ~/s.zip
Archive: /home/gorgira/s.zip
Length Date Time Name
--------- ---------- ----- ----
14336 09-06-2016 10:35 2F15E3F90FE74DF2BF23E2068020DF97/????????????????????????01.xls
0 09-06-2016 10:35 2F15E3F90FE74DF2BF23E2068020DF97/
--------- -------
14336 2 files
而ubuntu 14.04里面执行了
gorgira@ubuntu-1404:~/zip/unzip-6.0$ unzip -l ~/s.zip
Archive: /home/gorgira/s.zip
Length Date Time Name
--------- ---------- ----- ----
14336 2016-09-06 10:35 2F15E3F90FE74DF2BF23E2068020DF97/记录01.xls
0 2016-09-06 10:35 2F15E3F90FE74DF2BF23E2068020DF97/
--------- -------
14336 2 files
问题(2)最为头痛,查了3天,在网上查些资料,发现大家的错误各不同解决方法都试了,木有用,困惑,只好下载了源码利用gdb工具跟踪分析,发现unzip工具编译生成选项里存在问题,缺少了对NO_WORKING_ISPRINT宏定义选项的支持,导致了unzip工具对压缩包里中文显示存在问题,故重新编译rpm已经能够完美解决该问题,后来在debian系统unzip的changelog里也确实找到如下更新日志,证实我的想法:
changelog会发现如下信息:
unzip (6.0-9) unstable; urgency=low
* Added NO_WORKING_ISPRINT to DEFINES so that UTF8 filenames are
displayed correctly. Reported by Slavek Banko. Closes: #682682.
* Use the right strip command when cross-building. Closes: #695141.
解决办法:重新编译包,附上NO_WORKING_ISPRINT宏定义支持,重新安装rpm -ivh unzip-6.0-1.SW.rpm --froce