淺談Linux的編碼及編碼轉(zhuǎn)換方法
如果你需要在Linux中操作windows下的文件,那么你可能會(huì)經(jīng)常遇到文件編碼轉(zhuǎn)換的問題。Windows中默認(rèn)的文件格式是GBK(gb2312),而Linux一般都是UTF-8。下面介紹一下,在Linux中如何查看文件的編碼及如何進(jìn)行對(duì)文件進(jìn)行編碼轉(zhuǎn)換。
查看文件編碼
在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)換方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Linux運(yùn)維基礎(chǔ)進(jìn)程管理實(shí)時(shí)監(jiān)控控制
這篇文章主要介紹了Linux運(yùn)維基礎(chǔ)中進(jìn)程的管理及實(shí)時(shí)監(jiān)控控制,有需要的朋友可以借鑒參考下,希望可以有所幫助,共同學(xué)習(xí)共同進(jìn)步2021-09-09Ubuntu系統(tǒng)下網(wǎng)絡(luò)配置文件解析與說明
這篇文章主要給大家介紹了關(guān)于Ubuntu系統(tǒng)下網(wǎng)絡(luò)配置文件的解析與說明,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Ubuntu具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08linux防火墻iptables規(guī)則的查看、添加、刪除和修改方法總結(jié)
本文介紹了如何對(duì)linux防火墻iptables規(guī)則進(jìn)行查看、添加、刪除和修改的操作,大家可以參考一下2018-03-03虛擬機(jī)中CentOS7設(shè)置固定IP地址的方法
這篇文章主要介紹了虛擬機(jī)中CentOS7設(shè)置固定IP地址的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-12-12關(guān)于Apache shiro實(shí)現(xiàn)一個(gè)賬戶同一時(shí)刻只有一個(gè)人登錄(shiro 單點(diǎn)登錄)
今天和同事在一起探討shiro如何實(shí)現(xiàn)一個(gè)賬戶同一時(shí)刻只有一session存在的問題,下面小編把核心代碼分享到腳本之家平臺(tái),需要的朋友參考下2017-09-09