Linux的編碼及編碼轉換,linux編碼轉換

來源:互聯網
上載者:User

Linux的編碼及編碼轉換,linux編碼轉換

如果你需要在Linux中操作windows下的檔案,那麼你可能會經常遇到檔案編碼轉換的問題。Windows中預設的檔案格式是GBK(gb2312),而Linux一般都是UTF-8。下面介紹一下,在Linux中如何查看檔案的編碼及如何進行對檔案進行編碼轉換。

 

查看檔案編碼
在Linux中查看檔案編碼可以通過以下幾種方式:
1.在Vim中可以直接查看檔案編碼
:set fileencoding
即可顯示檔案編碼格式。
如果你只是想查看其它編碼格式的檔案或者想解決用Vim查看檔案亂碼的問題,那麼你可以在
~/.vimrc 檔案中添加以下內容:

set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936

這樣,就可以讓vim自動識別檔案編碼(可以自動識別UTF-8或者GBK編碼的檔案),其實就是依照fileencodings提供的編碼列表嘗試,如果沒有找到合適的編碼,就用latin-1(ASCII)編碼開啟。


檔案編碼轉換
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

iconv -f gbk -t utf8 linux常用命令.txt > linux常用命令.txt.utf8

 
檔案名稱編碼轉換:

從Linux 往 windows拷貝檔案或者從windows往Linux拷貝檔案,有時會出現中文檔案名稱亂碼的情況,出現這種問題的原因是因為,windows的檔案名稱 中文編碼預設為GBK,而Linux中預設檔案名稱編碼為UTF8,由於編碼不一致,所以導致了檔案名稱亂碼的問題,解決這個問題需要對檔案名稱進行轉碼。

在Linux中專門提供了一種工具convmv進行檔案名稱編碼的轉換,可以將檔案名稱從GBK轉換成UTF-8編碼,或者從UTF-8轉換到GBK。

首先看一下你的系統上是否安裝了convmv,如果沒安裝的話用:
yum -y install convmv
安裝。
 

下面看一下convmv的具體用法:

convmv -f 源編碼 -t 新編碼 [選項] 檔案名稱

常用參數:
-r 遞迴處理子檔案夾
--notest 真正進行操作,請注意在預設情況下是不對檔案進行真實操作的,而只是實驗。
--list 顯示所有支援的編碼
--unescap 可以做一下轉義,比如把%20變成空格
比如我們有一個utf8編碼的檔案名稱,轉換成GBK編碼,命令如下:

convmv -f UTF-8 -t GBK --notest utf8編碼的檔案名稱
這樣轉換以後"utf8編碼的檔案名稱"會被轉換成GBK編碼(只是檔案名稱編碼的轉換,檔案內容不會發生變化)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.