Linux下檔案編碼格式轉換
阿新 • • 發佈:2018-12-03
常常在Linux中操作Windows下的檔案時,會遇到亂碼的情形。常見的比如在Visual Studio 中寫的C\C++程式需要放到Linux主機上編譯,而程式的中文註釋則顯示為亂碼,比較嚴重的是由於編碼原因,Linux上的編譯器報錯。
這是由於Windows中預設的檔案格式是GBK(gb2312),而Linux一般都是UTF-8。那麼如何在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下的記事本開啟,選擇另存為……,改變編碼即可。