1、查看文件編碼。
在打開文件的時候輸入:set fileencoding
便可顯示文件編碼格式。
2、文件編碼轉換
一、在Vim中直接進行轉換文件編碼,好比將一個文件轉換成utf-8格式
在打開的文件中輸入:set fileencoding=utf-8
二、使用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
注意:轉換前必定要將重要的文件備份,特別是轉換文件內容的時候
3、文件名編碼轉換:
從linux往windows拷貝文件或者從windows往Linux拷貝文件,有時會出現中文文件名亂碼的狀況,出現這種問題的緣由是由於,windows的文件名 中文編碼默認爲GBK,而Linux中默認文件名編碼爲UTF8,因爲編碼不一致,因此致使了文件名亂碼的問題,解決這個問題須要對文件名進行轉碼。
在Linux中專門提供了一種工具convmv進行文件名編碼的轉換,能夠將文件名從GBK轉換成UTF-8編碼,或者從UTF-8轉換到GBK。
一、先看一下你的系統上是否安裝了convmv,若是沒安裝的話在終端輸入下面的命令安裝:
sudo 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編碼(只是文件名編碼的轉換,文件內容不會發生變化)linux