淺談Linux的編碼及編碼轉換方法

發布時間:2019-11-08 00:02 來源:互聯網 當前欄目:網站服務器

如果你需要在Linux中操作windows下的文件,那么你可能會經常遇到文件編碼轉換的問題。Windows中默認的文件格式是GBK(gb2312),而Linux一般都是UTF-8。下面介紹一下,在Linux中如何查看文件的編碼及如何進行對文件進行編碼轉換。

查看文件編碼

在Linux中查看文件編碼可以通過以下幾種方式:

1.在Vim中可以直接查看文件編碼

:set fileencoding

即可顯示文件編碼格式。

如果你只是想查看其它編碼格式的文件或者想解決用Vim查看文件亂碼的問題,那么你可以在

~/.vimrc 文件中添加以下內容:

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

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

文件編碼轉換

1.在Vim中直接進行轉換文件編碼,比如將一個文件轉換成utf-8格式

:set fileencoding=utf-8

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

iconv -f encoding -t encoding inputfile

比如將一個UTF-8 編碼的文件轉換成GBK編碼

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

iconv -f gbk -t utf8 linux常用命令.txt > linux常用命令.txt.utf8

文件名編碼轉換:

從Linux 往 windows拷貝文件或者從windows往Linux拷貝文件,有時會出現中文文件名亂碼的情況,出現這種問題的原因是因為,windows的文件名 中文編碼默認為GBK,而Linux中默認文件名編碼為UTF8,由于編碼不一致,所以導致了文件名亂碼的問題,解決這個問題需要對文件名進行轉碼。

在Linux中專門提供了一種工具convmv進行文件名編碼的轉換,可以將文件名從GBK轉換成UTF-8編碼,或者從UTF-8轉換到GBK。

首先看一下你的系統上是否安裝了convmv,如果沒安裝的話用:

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的編碼及編碼轉換方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持IIS7站長之家。

  • 1、
  • 2、
  • 3、
  • 4、
  • 5、
  • 6、
  • 7、
  • 8、
  • 9、
  • 10、
  • 11、
  • 12、
  • 13、
  • 14、
  • 15、
  • 16、
  • 17、
  • 18、
  • 19、
  • 20、
  • 21、
  • 22、
  • 23、
  • 24、
  • 25、
  • 1、
  • 2、
  • 3、
  • 4、
  • 5、
  • 6、
  • 7、
  • 8、
  • 9、
  • 10、
  • 11、
  • 12、
  • 13、
  • 14、
  • 15、
  • 16、
  • 17、
  • 18、
  • 19、
  • 20、
  • 21、
  • 22、
  • 23、
  • 24、
  • 25、