Linux网站tar打包下载文件名乱码的解决方法

2024年07月05日21:50:32

今天在Linux使用tar指令打包并下载一个网站,下载本地解压后一看,傻眼了,中文文件名全部是乱码。

文件名原本是这样:

原本的中文文件名

原本的中文文件名

下载到本地解压后变成这样:

乱码的中文文件名

乱码的中文文件名

经过测试,无论使用tar还是tar.gz打包,中文文件名都会变成乱码。这可怎么办呢?

使用zip指令打包网站

通过查阅相关资料,并实践测试,发现可以使用zip的指令进行网站压缩打包,该指令的写法如下:

zip -r 压缩文件名.zip 目录路径

例如,网站路径是/home/wwwroot/mysite,那么使用zip指令打包可以这样写:

zip -r /home/wwwroot/mysite/mysite.zip /home/wwwroot/mysite

打包结束下载到本地后,直接解压即可,这时你会发现,中文文件名是不会改变的。

笔记

测试发现,使用zip指令打包的网站文件,压缩包体积会比tar.gz大一倍。所以,如果你的网站文件名不含中文,那么就不建议使用zip指令来打包了。

使用unzip指令解压zip压缩包

使用zip打包网站,自然要知道对应的上传解压的问题。

本地把网站打包为zip格式的压缩文件,上传后可以用unzip指令来解压。

解压缩zip文件,使用unzip指令的语法如下:

unzip 压缩文件名.zip

我们希望将解压后的文件放置在指定目录,可以使用 -d 选项:

unzip 压缩文件名.zip -d 目标目录

例如,网站路径是/home/wwwroot/mysite,那么使用unzip指令解压可以这样写:

unzip /home/wwwroot/mysite/mysite.zip -d /home/wwwroot/mysite

指令执行完后,压缩包的文件就解压到/home/wwwroot/mysite目录下了。这里要注意的是压缩文件和目标目录的路径要写正确。

总结

本文介绍了如何解决tar打包后中文文件名乱码的问题,使用zip代替tar打包即可。