linux下查看文件編碼以及編碼轉換


   在linux下有時候需要編輯、查看windows下的文件,這樣會經常遇到文件編碼轉換的問題,在windows中默認的文件格式在linux下看起來就有可能是亂碼了(由於linux下的編碼一般是utf-8的),這就需要進行編碼轉換。現在就來看下如何解決亂碼問題。

 

一、查看文件編碼
    在打開文件的時候輸入:set fileencoding
    即可顯示文件編碼格式。

 

二、文件編碼轉換
    1、在Vim中直接進行轉換文件編碼,比如將一個文件轉換成utf-8格式
        在打開的文件中輸入:set fileencoding=utf-8

    2、使用iconv轉換,iconv的命令格式如下:

        iconv -f encoding -t encoding inputfile
        比如將一個UTF-8 編碼的文件轉換成GBK編碼
        iconv -f GBK -t UTF-8 file1 -o file2

 

 

三、文件名編碼轉換:

    從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編碼(只是文件名編碼的轉換,文件內容不會發生變化)



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM