zoukankan      html  css  js  c++  java
  • linux shell 中文件编码查看及转换方法

    一、查看文件编码。 
        在打开文件的时候输入:set fileencoding 
        即可显示文件编码格式。 



    二、文件编码转换 
        1、在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式 
            在打开的文件中输入:set fileencoding=utf-8 

        2、使用iconv转换,iconv的命令格式如下: 

            iconv -f encoding -t encoding inputfile 
            比如将一个 编码的文件转换成GBK编码 
            iconv -f UTF-8 -t GBK file1 -o file2 

    iconv的用法: 

    用法: iconv [选项...] [文件...] 
    Convert encoding of given files from one encoding to another. 
    输入/输出格式规范: 
      -f, --from-code=NAME       原始文本编码 
      -t, --to-code=NAME         输出编码 
    信息: 
      -l, --list                 列举所有已知的字符集 
    输出控制: 
      -c                         从输出中忽略无效的字符 
      -o, --output=FILE          输出文件 
      -s, --silent               suppress warnings 
          --verbose              打印进度信息 
      -?, --help                 给出该系统求助列表 
          --usage                给出简要的用法信息 
      -V, --version              打印程序版本号 

    将GB2312编码的文件内容转换为UTF-8 
    iconv -f GB2312 -t UTF-8 file-name > new-file-name 

    将UTF-8编码的文件内容转换为GB2312 
    iconv -f UTF-8 -t GB2312 file-name > new-file-name 
    注意:转换前一定要将重要的文件备份,特别是转换文件内容的时候 

    三、文件名编码转换: 

        从linux往windows拷贝文件或者从windows往Linux拷贝文件,有时会出现中文文件名乱码的情况,出现这种问题的原因是因为,windows的文件名 中文编码默认为GBK,而Linux中默认文件名编码为UTF8,由于编码不一致,所以导致了文件名乱码的问题,解决这个问题需要对文件名进行转码。 
        在Linux中专门提供了一种工具convmv进行文件名编码的转换,可以将文件名从GBK转换成UTF-8编码,或者从UTF-8转换到GBK。 

        1、先看一下你的系统上是否安装了convmv,如果没安装的话在终端输入下面的命令安装: 
           sudo yum -y install convmv 

        2、下面看一下convmv的具体用法: 
           convmv -f 源编码 -t 新编码 [选项] 文件名 
           常用参数: 
              -r 递归处理子文件夹 
              --notest 真正进行操作,请注意在默认情况下是不对文件进行真实操作的,而只是试验。 
              --list 显示所有支持的编码 
              --unescap 可以做一下转义,比如把%20变成空格 
        比如我们有一个utf8编码的文件名,转换成GBK编码,命令如下: 
        convmv -f UTF-8 -t GBK --notest utf8编码的文件名 

        这样转换以后"utf8编码的文件名"会被转换成GBK编码(只是文件名编码的转换,文件内容不会发生变化)

  • 相关阅读:
    [LeetCode 1029] Two City Scheduling
    POJ 2342 Anniversary party (树形DP入门)
    Nowcoder 106 C.Professional Manager(统计并查集的个数)
    2018 GDCPC 省赛总结
    CF 977 F. Consecutive Subsequence
    Uva 12325 Zombie's Treasure Chest (贪心,分类讨论)
    Poj 2337 Catenyms(有向图DFS求欧拉通路)
    POJ 1236 Network of Schools (强连通分量缩点求度数)
    POJ 1144 Network (求割点)
    POJ 3310 Caterpillar(图的度的判定)
  • 原文地址:https://www.cnblogs.com/fashflying/p/6895208.html
Copyright © 2011-2022 走看看