zoukankan      html  css  js  c++  java
  • Ubuntu18.04 解压zip文件乱码的解决方法

    在Ubuntu的系统下解压zip文件的时候居然出现了乱码,通过查找网上的资料,解决的办法有两种

    一、通过unzip行命令解压,指定字符集,由于zip格式中并没有指定编码格式,Windows下生成的zip文件中的编码是GBK/GB2312等,因此,导致这些zip文件在Linux下解压时出现乱码问题,因为Linux下的默认编码是UTF8。目前网上流行的是unzip -O cp936的方法,但一些linux发行版unzip是没有-O这个选项的。Ubuntu 12.04后续版本是有的。
    命令格式:
    ------------------------------------------------------------
    pipci@Ubuntu:~$ unzip -O CP936 xxx.zip

    下面这两个参数也行
    unzip -O GBK
    unzip -O GB18030
    ------------------------------------------------------------

    二、通过unar命令最简单

    1、安装unar软件
    -----------------------------------------------
    root@Ubuntu:~# apt install unar
    -----------------------------------------------

    2、命令格式:
    -------------------------------------------------------------------------------------------------------
    pipci@Ubuntu:~$ unar xxx.zip                        #不需要加参数,自动识别编码
    -------------------------------------------------------------------------------------------------------


    3.unar常用选项解释

    参数[-o]
    解释:指定解压结果保存的位置
    ~$ unar test.zip -o /home/dir/

    参数[-e]
    解释:指定编码
    ~$ unar -e GBK test.zip

    参数[-p]
    解释:指定解压密码
    ~$ unar -p 123456 test.zip

    4、列出压缩包内容

    ~$ lsar  xxx.zip


    二、在环境变量中,指定unzip参数,总是以指定的字符集显示和解压文件
    /etc/environment中加入2行

    ------------------------------------------------

    UNZIP="-O CP936"
    ZIPINFO="-O CP936"

    ------------------------------------------------

    这样Gnome桌面的归档管理器(file-roller)可以正常使用unzip解压中文,但是如果系统里面有p7zip软件,需要先删除p7zip,据说是因为file-roller优先使用p7zip,但是file-roller本身并不能设置编码传递给unzip。MATE桌面环境的归档管理器(Engrampa)需要依赖p7zip,删除p7zip的同时也会归档管理器,可以安装其他归档管理器。

     

  • 相关阅读:
    ASP.NET初识4
    属性
    ASP.NET初识4
    ACCP6.0第九章练习
    ASP.NET初识1
    鼠标指针含义
    ASP.NET初识2
    第三部分
    ASP.NET初识3
    ASP.NET初识5
  • 原文地址:https://www.cnblogs.com/pipci/p/10114527.html
Copyright © 2011-2022 走看看