linux用tar -zxvf解压tar.gz压缩包,解压出的中文文件名乱码
时间: 2023-10-14 12:20:58 浏览: 293
解压文件时中文乱码
这是因为在解压缩时未设置编码格式,可以使用以下命令解压:
```
tar -zxvf filename.tar.gz --no-anchored --show-transformed --transform="s/[\x80-\xFF]/\xa4\xxx/g"
```
其中 `filename.tar.gz` 为压缩文件名,`--no-anchored` 参数表示不仅匹配压缩包内部的文件名,还匹配压缩包内部的目录名;`--show-transformed` 参数表示在解压缩时显示转换前后的文件名;`--transform` 参数表示设置编码格式的转换规则,`\x80-\xFF` 表示匹配所有的中文字符,`\xa4\xxx` 表示将中文字符转换为 GBK 编码格式。
如果仍然存在中文乱码问题,可以尝试使用 `iconv` 命令进行编码转换。例如,将文件名转换为 UTF-8 编码格式,可以使用以下命令:
```
iconv -f GBK -t UTF-8 filename.txt > newfilename.txt
```
其中 `filename.txt` 为原文件名,`newfilename.txt` 为转换后的新文件名,`-f` 参数表示原文件的编码格式,`-t` 参数表示目标编码格式。
阅读全文