`
Marshal_R
  • 浏览: 132512 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Linux文件乱码

阅读更多

Linux文件乱码

 

    使用Linux系统多多少少都遇到过文件名乱码或者文件内容乱码的情况,其实主要是系统之间编码方式不同造成的,windows文件名编码方式可能是gbk,而Linux默认是utf-8,这样就会导致在windows的文件在Linux下面显示乱码。不过,通过下面几点技巧就可以完美摆脱乱码困扰。

 

    1、zip文件解压文件名乱码

         方案一:如果系统unzip支持-O选项的话可以这样

unzip -O cp936 your-zip-file.zip

 

         方案二:python脚本

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
import sys
import zipfile

print "Processing File " + sys.argv[1]

file=zipfile.ZipFile(sys.argv[1],"r");
for name in file.namelist():
    utf8name=name.decode('gbk')
    print "Extracting " + utf8name
    pathname = os.path.dirname(utf8name)
    if not os.path.exists(pathname) and pathname!= "":
        os.makedirs(pathname)
    data = file.read(name)
    if not os.path.exists(utf8name):
        fo = open(utf8name, "w")
        fo.write(data)
        fo.close
file.close()

 

    首先把上面代码保存为unzip.py文件,然后执行下面的命令解压zip文件

python unzip.py your-zip-file.zip

 

         方案三:7z解压

su -c 'yum install p7zip convmv'  # Fedora系统的安装方式
LANG=C 7za x your-zip-file.zip
convmv -f gbk -t utf8 --notest -r your-zip-file/  # -r递归转换整个目录

 

         方案四:wine + windows解压软件

    假如十分不幸,以上的操作都失败了,那么还有一个万能的方法,直接在wine里面安装windows解压软件来解压你的文件,这下没话说了吧!

 

    2、文件内容乱码

        方案一:iconv工具

iconv -f gbk -t utf-8 file1 -o file2  # gbk编码转换为utf-8

 

        方案二:enca工具

# -L指明文件语言,一般可以省略
enca -L zh_CN file  # 检查文件的编码
enca -L zh_CN -x UTF-8 file  # 将文件编码转换为"UTF-8"编码
enca -L zh_CN -x UTF-8 file1 file2  # 如果不想覆盖原文件可以这样

 

 

0
0
分享到:
评论

相关推荐

    Linux系统文件乱码转码工具

    "Linux系统文件乱码转码工具"正是这样一个解决方案,它基于GTK+库,专为Linux用户设计,能够帮助用户批量转换文件编码,确保在Linux环境下正确显示文件内容。 首先,我们要了解字符编码的基本概念。字符编码是用来...

    LINUX中文乱码解决方法

    ### Linux中文乱码解决方法 在使用Linux操作系统的过程中,用户可能会遇到中文显示出现乱码的情况。这种情况通常是由于系统编码设置不正确或者环境变量配置不当所导致的。本文将详细介绍如何解决Linux中的中文乱码...

    Linux 删除乱码文件与文件夹.docx

    Linux 删除乱码文件与文件夹 在 Linux 系统中,删除乱码文件与文件夹是一项常见的任务。本文将介绍如何使用 inode 号码来删除乱码文件与文件夹。 查询 inode 号码 在 Linux 系统中,每个文件和文件夹都有一个唯一...

    linux解决中文乱码问题

    在Linux系统中,中文乱码问题常常困扰着用户,尤其是对于那些需要处理中文文本的开发者和运维人员。这个问题主要出现在终端、文件名、文件内容显示等方面。以下是一些解决Linux环境中中文乱码问题的方法和详细步骤:...

    Linux系统中文乱码解决完整方案

    在 Linux 系统中,中文文件在 ssh 终端中显示为乱码,这是由于 SSH 客户端和 Linux 服务器之间的字符集不同所导致的。解决这个问题,需要修改 Linux 系统的默认字符集,使其与 Windows 系统的一致。 本文档提供了两...

    linux下删除乱码文件

    在Linux系统中,由于编码问题或文件名包含特殊字符,我们常常会遇到一些无法通过常规方式删除的乱码文件。这些文件可能出现在任何目录下,不仅占用磁盘空间,还可能导致文件管理操作变得复杂。因此,掌握如何在Linux...

    linux下中文乱码问题

    Linux 下中文乱码问题解决方法 Linux 操作系统中,中文乱码问题是一个常见的问题,它是由系统集成的字符集引起的。由于不能正确地使用相对应字符的字符集,因此 OS 不能识别出文字,导致了乱码。解决这个问题的方法...

    SecureCRT等连接Linux出现乱码

    在使用SecureCRT等终端模拟器连接到Linux服务器时,可能会遇到字符编码问题,导致显示乱码。这种情况通常是由于字符集不匹配或者配置不正确引起的。本文将深入探讨这个问题,并提供解决方案。 首先,我们要理解字符...

    使用C+解决Linux中文乱码问题.docx

    当我们在Linux下使用`fstream`读取一个包含中文字符的文件并存储到`std::string`中时,如果文件的编码不是UTF-8,或者没有正确处理换行符,就可能导致乱码。例如,如果文件使用GBK编码,`std::string`可能无法正确...

    Linux定时脚本crontab中文乱码.docx

    当我们在 Linux 系统中使用 crontab 执行 jar 文件时,输出结果中出现中文乱码的原因是由于 Unix/Linux 下的 crontab 环境与用户环境的差异。通常情况下,用户环境中会设置一些环境变量,例如语言环境变量 LANG,...

    VMware Workstation自动安装和Linux中文乱码问题

    本主题将深入探讨如何在VMware Workstation中进行自动安装Linux系统,并解决可能出现的中文乱码问题。 首先,VMware Workstation允许用户在单个物理机器上运行多个独立的虚拟机。自动安装Linux主要涉及Kickstart...

    Linux下中文文件名乱码问题的详解 - CSDN博客1

    文章中提到,作者在项目中遇到了生成的压缩包文件(可能是通过tar或gzip命令创建的)在Linux下显示中文文件名时出现乱码的问题。他们发现,Windows系统默认使用GBK编码,而Linux默认使用UTF-8编码,因此在处理文件名...

    linux乱码问题的解决办法

    当在Linux环境下处理来自Windows系统的文件时,如果不正确地处理这两种不同的编码格式,就会出现乱码。 #### 二、查看文件编码的方法 在Linux中,有多种方法可以查看文件的编码格式。 ##### 1. 使用Vim查看文件...

    linux乱码解决.

    ### Linux系统乱码解决方案 在Linux环境中,遇到乱码问题是比较常见的现象,这不仅会影响用户的正常使用体验,还可能成为开发过程中的一个障碍。本文将详细探讨Linux系统中乱码问题的原因及解决方法。 #### 一、...

    Linux中文乱码问题.pdf

    Linux系统中的中文乱码问题是一个常见的问题,主要发生在系统、终端、文件及网页浏览时。解决中文乱码问题,首先需要了解字符编码的基础知识和Linux系统中的locale设置。 字符编码是指用数字来表示字符和符号的方法...

    Linux下MySQL解决乱码问题

    ### Linux下MySQL解决乱码问题 #### 背景与问题描述 在使用Linux系统时,部分用户可能会遇到MySQL数据库无法正确显示或录入中文字符的问题,即所谓的“乱码”现象。这种问题不仅影响数据的准确性和完整性,还可能...

    Linux下用ll命令--显示total等字母时乱码的解决方法.docx

    在Linux系统中,`ll`命令实际上是`ls`命令的一个别名,通常用于列出目录中的文件和文件夹信息。然而,当用户在执行`ll`命令时遇到“total”等字母显示为乱码的情况,这通常是因为系统的字符编码设置不正确,导致无法...

    LINUX SSH显示中文乱码解决

    ### Linux SSH 显示中文乱码解决方案 在日常工作中,我们经常需要通过SSH远程登录到Linux系统来进行各种管理和操作。然而,一个常见的问题是当我们在Windows环境下使用SSH客户端(如PuTTY等)连接到Linux服务器时,...

Global site tag (gtag.js) - Google Analytics