1. 程式人生 > >Linux下檔案編碼格式轉換

Linux下檔案編碼格式轉換

常常在Linux中操作Windows下的檔案時,會遇到亂碼的情形。常見的比如在Visual Studio 中寫的C\C++程式需要放到Linux主機上編譯,而程式的中文註釋則顯示為亂碼,比較嚴重的是由於編碼原因,Linux上的編譯器報錯。

這是由於Windows中預設的檔案格式是GBK(gb2312),而Linux一般都是UTF-8。那麼如何在Linux中如何檢視檔案的編碼及如何進行對檔案進行編碼轉換呢?

Linux下檔案編碼格式轉換

1、用VIM檢視檔案編碼

在Vim 中可以直接檢視檔案編碼

:set fileencoding

即可顯示檔案編碼格式。

2、 改寫~/.vimrc 檔案

如果你只是想檢視其它編碼格式的檔案或者想解決用Vim檢視檔案亂碼的問題,那麼你可以在

~/.vimrc 檔案中新增以下內容:

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

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

3、 用ICONV檔案編碼轉換

我們利用iconv工具對檔案的編碼進行轉換。

iconv 轉換,iconv的命令格式如下:

iconv -f encoding -t encoding inputfile

比如將一個GBK 編碼的檔案轉換成UTF-8編碼

iconv -f GBK -t UTF-8 file1 -o file2

其中的引數的意義表示

-f From 某個編碼

-t To 某個編碼

-o 輸出到檔案

4、 通過記事本另存為來改變檔案編碼;

既用Windows下的記事本開啟,選擇另存為……,改變編碼即可。