原链:
http://www.dewen.org/q/4494
http://velep.com/archives/389.html
7zip和rar会记录字符集,自动转换,而tar不会
比如 “中国.txt”,utf-8下编码是e4b8ade59bbd,tar里面记录的是e4b8ade59bbd.tar,然后gbk下中国不是e4b8ade59bbd,所以就是乱码了
zip也不保存字符集,这个是算法结构里面的,所以要支持也要改zip的源码
不过你可以指定文件列表用什么编码显示,不过解压开还是乱码。
解决办法:
在linux下只能用rar或者7zip处理中文文件名的文件
1. linux安装7z命令
linux上安装7z命令有两种方式:在线安装和安装包安装,下面分别介绍。
1.1 在线安装
如果你的宿主机Linux可以连接外网,推荐用这种方式,方便简单,执行命令:
sudo apt-get install p7zip
即可在线安装7z命令。
1.2 安装包安装
7z(准确点说是7-Zip)提供了线下的程序安装包,也可自己编译安装。这里讲的是用7z提供的bin包来安装。
宿主机linux一般是X86的,而7z提供编译好了的bin包,可以很方便的安装。步骤如下:
1) 去网站http://sourceforge.net/projects/p7zip/files/或http://sourceforge.net/projects/p7zip/files/p7zip/上下载p7zip的包,当前最新版本是9.20.1;
2) 找到对应版本号进去,页面会提供两个供你下载,一个是bin包,另一个是源码包,这里下的是bin包,以9.20.1为例,下载的包名称是:p7zip_9.20.1_x86_linux_bin.tar.bz2;
3) 在Linux上执行下面命令(解压和安装):
tar xjvf p7zip_9.20.1_x86_linux_bin.tar.bz2
cd p7zip_9.20.1
sh install.sh
注意上面的命令权限,需要root权限,因此最好在tar和sh命令前加上sudo。
到此,就安装完成了。
2. 7z命令的使用
2.1 解压缩7z文件
7za x phpMyAdmin-3.3.8.1-all-languages.7z -r -o./
参数含义:
x 代表解压缩文件,并且是按原始目录树解压(还有个参数 e 也是解压缩文件,但其会将所有文件都解压到根下,而不是自己原有的文件夹下)
phpMyAdmin-3.3.8.1-all-languages.7z 是压缩文件,这里我用phpadmin做测试。这里默认使用当前目录下的phpMyAdmin-3.3.8.1-all-languages.7z
-r 表示递归解压缩所有的子文件夹
-o 是指定解压到的目录,-o后是没有空格的,直接接目录。这一点需要注意。
2.2 压缩文件/文件夹
7za a -t7z -r Mytest.7z /opt/phpMyAdmin-3.3.8.1-all-languages/*
参数含义:
a 代表添加文件/文件夹到压缩包
-t 是指定压缩类型,这里定为7z,可不指定,因为7za默认压缩类型就是7z。
-r 表示递归所有的子文件夹
Mytest.7z 是压缩好后的压缩包名
/opt/phpMyAdmin-3.3.8.1-all-languages/*:是压缩目标。
注意:7za不仅仅支持.7z压缩格式,还支持.tar.bz2等压缩类型的。如上所述,用-t指定即可。
分享到:
相关推荐
在跨平台操作时,特别是涉及Linux和Windows系统的交互,理解如何在两种操作系统下进行通用的文件解压至关重要。本篇文章将详细介绍如何在Linux和Windows上解压兼容的压缩文件,特别是处理包含中文的压缩包。 首先,...
在Linux环境中,当我们尝试使用`unzip`命令解压包含中文文件名的压缩包时,经常会出现中文乱码的问题。这是因为`unzip`程序在处理非ASCII字符时,可能会使用其内部默认的编码方式,而这个编码方式并不支持中文字符集...
尤其是在Windows系统下,文件名通常采用GB2312或GBK编码,而Java中的`ZipInputStream`和`ZipOutputStream`类默认使用的是Unicode编码,这种编码差异导致了中文文件名在压缩与解压过程中的乱码现象。 #### 二、解决...
这个离线安装包`convmv-1.14.tar.gz`提供了一个解决方案,使你能够在没有网络连接的情况下,在Linux系统上安装并使用`convmv`。 `convmv`是一个强大的命令行工具,它的主要功能是转换文件和目录的编码。它支持多种...
在Linux环境中,SQL*Plus是Oracle数据库系统的命令行接口,用于执行SQL语句和PL/SQL块。然而,用户在使用SQL*Plus时可能会遇到一些输入问题,比如退格键和回车键导致的乱码现象。这通常是因为终端不支持某些高级的...
通过以上步骤,你应该能够在Linux环境下成功安装并使用`rlwrap`,解决SQL*Plus中的退格和上翻键乱码问题。这样,你可以更加高效地在命令行中进行数据库操作,提升工作效率。记住,对于任何终端问题,检查和调整终端...
由于ZipFile模块导出遇到中文解码不对,windows上会出现,linux是否会出现不知道没测试过。 解决方式: 1. 搞个文件名引射表(不太方便,少量文件夹套用时候还可以) 2. 修改源码解码格式(不太方便,自己搞了一下,...
这个问题通常与字体缺失有关,因为Linux系统可能不包含所有Windows环境下微信所需的字体。为了解决这个问题,我们可以按照以下步骤安装必要的文字插件。 首先,我们需要知道的是,微信在Linux上通常是通过Wine来...
14. **ZIP或RAR压缩包**:在打包文件时,保留文件的原始编码信息,解压时使用与之匹配的解压工具。 15. **数据库连接字符串**:在数据库连接字符串中明确指定字符集,如`jdbc:mysql://localhost:3306/test?...
如果你还没有安装,可以在Sublime Text 3中按下`Ctrl+Shift+P`(Windows/Linux)或`Cmd+Shift+P`(Mac),然后输入“Install Package Control”,按照提示进行安装。 安装完Package Control后,再次按下快捷键`Ctrl...
Linux系统对字体的支持可能与Windows有所不同,因此在处理某些特定格式或特殊字体时,可能会出现不兼容的情况。例如,当ECS实例尝试渲染包含Windows特有字体的图片或文本时,如果服务器上没有相应的字体,就可能导致...
在Java编程环境中,处理RAR压缩包并对其进行解压是一个常见的任务,特别是在自动化脚本或数据迁移等场景下。本文将详细介绍如何使用Java实现这个功能,特别是处理带密码保护的RAR文件,同时支持中文文件名,并能在...
"linux adobe reader 中文包"就是为了解决这个问题而提供的一个补丁或汉化包,它确保在Linux环境下Adobe Reader能正确显示中文字符。 这个资源的描述提到,在安装过程中会有三个提问,这些提问通常涉及到确认许可...
需要注意的是,不同的操作系统(如Windows、Mac OS或Linux)以及Source Insight的不同版本,其配置和插件管理方式可能存在差异,因此在实际操作时可能需要根据具体情况进行调整。 对于那些遇到类似问题但使用的是...
在Windows、Linux和Mac上,同一段文字可能因为字体渲染和编码处理的差异而显示为乱码。 6. **国际化支持**:如果程序需要支持多种语言,需要遵循Java的国际化标准,正确使用`ResourceBundle`和`Locale`类,以确保...
Wine是一款开源软件,它在Linux环境下模拟Windows API,使得用户可以在非Windows操作系统上运行Windows程序。本文将详细讲解如何解决Ubuntu上使用Wine时出现的方块字体问题。 首先,我们需要理解这个问题的根本原因...
在处理跨平台文件操作时,编码问题常常是一个棘手的挑战,特别是在涉及到Windows和Linux系统之间的文件传输或解压。Windows系统通常使用GBK编码来表示中文字符,而Linux系统则普遍采用UTF-8编码。这可能导致在不同...
【标题】"Linux 记事本 winvi32.zip" 提供的是一个在Linux环境下使用的文本编辑器,它模仿了Windows中的记事本功能。这个压缩包包含了一个名为"WinVi32.exe"的可执行文件,这通常是一个在Linux系统上运行的模拟器...
6. **解压问题**:压缩包中的文件可能出现乱码,这可能是因为压缩软件的设置问题,如编码设置不正确,或者压缩时文件名编码被破坏。解压时需要选择正确的编码方式,或者使用能自动识别编码的解压工具。 7. **编程...
在这个名为"Linux+man中文手册"的压缩包中,包含了Linux常用命令和函数的中文版帮助文档,这对于中文使用者来说是一份宝贵的参考资料。解压并正确配置后,你就可以轻松地在不熟悉某个命令或函数时查阅中文版的帮助,...