在 Vim 中直接進(jìn)行轉(zhuǎn)換文件編碼,比如將一個(gè)文件轉(zhuǎn)換成 utf-8格式 :set fileencoding=utf-8;
成都創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括華寧網(wǎng)站建設(shè)、華寧網(wǎng)站制作、華寧網(wǎng)頁制作以及華寧網(wǎng)絡(luò)營(yíng)銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,華寧網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到華寧省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
iconv 轉(zhuǎn)換,iconv 的命令格式如下:輸入/輸出格式規(guī)范:iconv -f, --from-code=名稱 原始文本編碼 -t, --to-code=名稱 ,比如說將一個(gè) UTF-8 編碼的文件轉(zhuǎn)換成 GBK 編碼 iconv -f GBK -t UTF-8 file1 -o file2
enconv 轉(zhuǎn)換文件編碼 比如要將一個(gè) GBK 編碼的文件轉(zhuǎn)換成 UTF-8編碼,操作如下 enconv -L zh_CN -x UTF-8 filename
查看文件編碼
在Linux中查看文件編碼可以通過以下幾種方式:
1.在Vim中可以直接查看文件編碼
:set fileencoding
即可顯示文件編碼格式。
如果你只是想查看其它編碼格式的文件或者想解決用Vim查看文件亂碼的問題,那么你可以在
~/.vimrc 文件中添加以下內(nèi)容:
set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936
這樣,就可以讓vim自動(dòng)識(shí)別文件編碼(可以自動(dòng)識(shí)別UTF-8或者GBK編碼的文件),其實(shí)就是依照fileencodings提供的編碼列表嘗試,如果沒有找到合適的編碼,就用latin-1(ASCII)編碼打開。
文件編碼轉(zhuǎn)換
1.在Vim中直接進(jìn)行轉(zhuǎn)換文件編碼,比如將一個(gè)文件轉(zhuǎn)換成utf-8格式
:set fileencoding=utf-8
2. iconv 轉(zhuǎn)換,iconv的命令格式如下:
iconv -f encoding -t encoding inputfile
比如將一個(gè)UTF-8 編碼的文件轉(zhuǎn)換成GBK編碼
iconv -f GBK -t UTF-8 file1 -o file2
iconv -f gbk -t utf8 linux常用命令.txt linux常用命令.txt.utf8
文件名編碼轉(zhuǎn)換:
從Linux 往 windows拷貝文件或者從windows往Linux拷貝文件,有時(shí)會(huì)出現(xiàn)中文文件名亂碼的情況,出現(xiàn)這種問題的原因是因?yàn)?,windows的文件名 中文編碼默認(rèn)為GBK,而Linux中默認(rèn)文件名編碼為UTF8,由于編碼不一致,所以導(dǎo)致了文件名亂碼的問題,解決這個(gè)問題需要對(duì)文件名進(jìn)行轉(zhuǎn)碼。
在Linux中專門提供了一種工具convmv進(jìn)行文件名編碼的轉(zhuǎn)換,可以將文件名從GBK轉(zhuǎn)換成UTF-8編碼,或者從UTF-8轉(zhuǎn)換到GBK。
首先看一下你的系統(tǒng)上是否安裝了convmv,如果沒安裝的話用:
yum -y install convmv
安裝。
下面看一下convmv的具體用法:
convmv -f 源編碼 -t 新編碼 [選項(xiàng)] 文件名
常用參數(shù):
-r 遞歸處理子文件夾
--notest 真正進(jìn)行操作,請(qǐng)注意在默認(rèn)情況下是不對(duì)文件進(jìn)行真實(shí)操作的,而只是試驗(yàn)。
--list 顯示所有支持的編碼
--unescap 可以做一下轉(zhuǎn)義,比如把%20變成空格
比如我們有一個(gè)utf8編碼的文件名,轉(zhuǎn)換成GBK編碼,命令如下:
convmv -f UTF-8 -t GBK --notest utf8編碼的文件名
這樣轉(zhuǎn)換以后"utf8編碼的文件名"會(huì)被轉(zhuǎn)換成GBK編碼(只是文件名編碼的轉(zhuǎn)換,文件內(nèi)容不會(huì)發(fā)生變化)
linux下文件編碼格式轉(zhuǎn)換方法(gb18030/utf-8)
在 Linux 做開發(fā)或者系統(tǒng)管理遇到亂碼是經(jīng)常的事情,主要windows下中文的默認(rèn)編碼是bg2312,而 linux下是utf-8。很多時(shí)候 涉及到和windows平臺(tái)系統(tǒng)的通信免不了編碼的轉(zhuǎn)化,可能大部分人都用iconv庫函數(shù)(包含在glib中)和iconv命令來執(zhí)行編碼轉(zhuǎn)換,即:
iconv -f gb18030 -t utf-8 file1.txt -o file2.txt
說實(shí)話這個(gè)命令不好使,一方面容易重復(fù)轉(zhuǎn)換,另一方面不支持通配符,無法成批轉(zhuǎn) 換,文件少了還好說,要是一大堆文件豈不是要累死?
今天我要推薦的是另一個(gè) Shell 下編碼轉(zhuǎn)換工具enca。用它不僅可以轉(zhuǎn)換編碼,還可以查看文件的原始編碼,而且還支持成批轉(zhuǎn)換。使用上也比iconv方便一些。安裝enca很簡(jiǎn)單,一般用源安裝就行了,enca用法如下:
enca -L 當(dāng)前語言 文件名
enca -L zh_CN file //檢查文件的編碼
enca -L 當(dāng)前語言 -x 目標(biāo)編碼 文件名
enca -L zh_CN -x UTF-8 file //將文件編碼轉(zhuǎn)換為”UTF-8″編碼
enca -L zh_CN -x UTF-8 file1 file2 //如果不想覆蓋原文件可以這樣
除了有檢查文件編碼的功能以外,”enca”還有一個(gè)好處就是如果文件本來就是你要轉(zhuǎn)換的那種編碼,它不會(huì)報(bào)錯(cuò),還是會(huì)print出結(jié)果來, 而”iconv”則會(huì)報(bào)錯(cuò)。這對(duì)于腳本編寫是比較方便的事情。
1.在Vim中直接進(jìn)行轉(zhuǎn)換文件編碼,比如將一個(gè)文件轉(zhuǎn)換成utf-8格式
:set
fileencoding=utf-8
2.
enconv
轉(zhuǎn)換文件編碼,比如要將一個(gè)GBK編碼的文件轉(zhuǎn)換成UTF-8編碼,操作如下
enconv
-L
zh_CN
-x
UTF-8
filename
3.
iconv
轉(zhuǎn)換,iconv的命令格式如下:
iconv
-f
encoding
-t
encoding
inputfile
比如將一個(gè)UTF-8
編碼的文件轉(zhuǎn)換成GBK編碼
iconv
-f
GBK
-t
UTF-8
file1
-o
file2
查看文件編碼file命令
file
ip.txt
ip.txt:
UTF-8
Unicode
text,
with
escape
sequences
一、利用iconv命令進(jìn)行編碼轉(zhuǎn)換文件內(nèi)容編碼轉(zhuǎn)換
iconv命令用于轉(zhuǎn)換指定文件的編碼,默認(rèn)輸出到標(biāo)準(zhǔn)輸出設(shè)備,亦可指定輸出文件。
用法:
iconv
[選項(xiàng)...]
[文件...]
有如下選項(xiàng)可用:
輸入/輸出格式規(guī)范:
-f,
--from-code=名稱
原始文本編碼
-t,
--to-code=名稱
輸出編碼
信息:
-l,
--list
列舉所有已知的字符集
輸出控制:
-c
從輸出中忽略無效的字符
-o,
--output=FILE
輸出文件
-s,
--silent
關(guān)閉警告
--verbose
打印進(jìn)度信息
-?,
--help
給出該系統(tǒng)求助列表
--usage
給出簡(jiǎn)要的用法信息
-V,
--version
打印程序版本號(hào)
例子:
iconv
-f
utf-8
-t
gb2312
aaa.txt
bbb.txt
這個(gè)命令讀取aaa.txt文件,從utf-8編碼轉(zhuǎn)換為gb2312編碼,其輸出定向到bbb.txt文件。
1、iconv命令來轉(zhuǎn)換文件的編碼,格式:
iconv -f 原本的編碼格式 -t 要轉(zhuǎn)換成的編碼 文件名 -o 新文件名
2、例如:
iconv -f gb2312 -t utf8 a.txt -o utf8.txt
3、vim 文件名.txt
:set fileencoding
:set fenc
查看現(xiàn)在文本的編碼
:set fenc=編碼
轉(zhuǎn)換當(dāng)前文本的編碼為指定的編碼
:set encoding=編碼
:set enc=編碼
以指定的編碼顯示文本,但不保存到文件中。
輸入 :e ++enc=gbk 強(qiáng)制用gbk打開
輸入 :w ++enc=utf8 轉(zhuǎn)換到utf8保存。
4、可以使用 file 命令,并添加 -i 或 --mime 參數(shù)來查看一個(gè)文件的字符編碼
file -i a.txt