zoukankan      html  css  js  c++  java
  • Linux下解压Windows中的压缩包乱码解决办法

    需要安装convmv和p7zip

    根据自己的情况修改LANG和convmv里面的编码格式
    这里我是将GBK转换成UTF-8的乱码更正
    LANG是设置环境编码,作用范围仅在当前终端
    然后调用7z解压
    这是看目录会显示无效编码,因为文件名现在是GBK编码
    然后调用convmv转换编码为UTF-8
    如果不修改环境编码直接解压会导致7z将GBK编码的文件名以当前环境即UTF-8解码
    之后再用convmv转换自然无法得到想要的结果

    如果你的压缩包本身内部就是乱码,那么这个方法也无效,本方法只能在已知压缩包内编码的情况下修复解压乱码问题

    如果尝试该方法后依然乱码,说明你的压缩包在压缩前的系统环境中不是GBK(CP936,GB2312,GB18030......),尝试修改convmv的-f参数为其他编码

    (上面那个方法我没有试,因为我的压缩包乱码都是在Windows中文环境扔到Linux英文环境下发生的)

    使用方法

    需要两个参数

    第一个为压缩包路径 只要7z支持应该都可以

    第二个为输出目录

    如果需要修改直接在7z那行改成自己需要的命令就行

    比如有密码的话加上-p参数跟上密码

    要注意7z的参数名和参数值之间没有空格

     1 #!/bin/bash
     2 
     3 echo 'begin'
     4 archive=$1
     5 target=$2
     6 
     7 LANG=zh_CN.GB2312
     8 7z x "$archive" -o$target
     9 echo 'convert start'
    10 convmv -f GBK -t UTF-8 -r $target --notest
    11 echo 'convert finished'
    12 echo 'end'

     附上效果图

    进入目录

    来自1942年冬季攻势中的中央集团军的037号17吨救援拖车
  • 相关阅读:
    Eclipse无法正常启动,弹出对话框内容为 A Java Runtime...
    redis入门常用的命令操作(总结 一)
    初级工程师的面试
    公司金融学理论--MM理论
    以太坊开发环境搭建
    如何以树形结构显示文件目录结构
    Neural Network Basics
    大前端公共知识梳理
    出SS表
    iOS weak关键字
  • 原文地址:https://www.cnblogs.com/panther1942/p/10296924.html
Copyright © 2011-2022 走看看