1,使用file 命令查看文件的編碼格式
創新互聯主要從事成都做網站、網站建設、外貿營銷網站建設、網頁設計、企業做網站、公司建網站等業務。立足成都服務新寧,10余年網站建設經驗,價格優惠、服務專業,歡迎來電咨詢建站服務:13518219792
[root@dep-184 /]# file 1.txt
1.txt: ISO-8859 text
2,vim 命令
使用vim命令進入文件 1.txt,然后在使用 “:set fileencoding” 查看文件當前展示的編碼格式(這里必須確保展示內容無亂碼,才可以得到內容真實的編碼格式)
3,enca命令 《Linux就該這么學》
使用enca可以直接查看文件內容的編碼格式,如下
[root@dep-184 /]# enca 1.txt
Simplified Chinese National Standard; GB2312
首先我們打開系統并使用root賬戶登錄系統。然后使用命令“file -i /opt/test.log”來查看test.log的文件編碼格式。具體展示如下圖所示。
下面我們介紹命令iconv的命令的用法,首先我們查看幫助文檔。執行命令“iconv --help”查看幫助文檔。具體如下圖所示。
下面詳細介紹各個參數的含義。
-f encoding 表示原始文件的字符編碼。
-t encoding 表示輸出文件的字符編碼。
-l 表示列舉所有已知的字符集。
-c 表示從輸出中忽略無效的字符
-o filename 表示輸出文件
-s 表示關閉警告。
--verbose 表示顯示進度信息。
下面我們執行命令“iconv -l”查看支持的所有的字符編碼格式。具體展示如下圖所示。
下面我們簡單用下如何轉換,將上面我們查看的test.log的字符編碼轉化為UTF-8編碼,并且重新輸出到test1.log。我們使用命令“iconv test.log -f iso-8859-1 -t UTF-8 -o test1.log --verbose”具體展示如下圖所示。
最后我們驗證轉化后的test1.log的字符編碼。我們執行命令"file -i /opt/test1.log"查看字符編碼,可以看到已經轉化為utf-8了。
linux下文件編碼格式轉換方法(gb18030/utf-8)
在 Linux 做開發或者系統管理遇到亂碼是經常的事情,主要windows下中文的默認編碼是bg2312,而 linux下是utf-8。很多時候 涉及到和windows平臺系統的通信免不了編碼的轉化,可能大部分人都用iconv庫函數(包含在glib中)和iconv命令來執行編碼轉換,即:
iconv -f gb18030 -t utf-8 file1.txt -o file2.txt
說實話這個命令不好使,一方面容易重復轉換,另一方面不支持通配符,無法成批轉 換,文件少了還好說,要是一大堆文件豈不是要累死?
今天我要推薦的是另一個 Shell 下編碼轉換工具enca。用它不僅可以轉換編碼,還可以查看文件的原始編碼,而且還支持成批轉換。使用上也比iconv方便一些。安裝enca很簡單,一般用源安裝就行了,enca用法如下:
enca -L 當前語言 文件名
enca -L zh_CN file //檢查文件的編碼
enca -L 當前語言 -x 目標編碼 文件名
enca -L zh_CN -x UTF-8 file //將文件編碼轉換為”UTF-8″編碼
enca -L zh_CN -x UTF-8 file1 file2 //如果不想覆蓋原文件可以這樣
除了有檢查文件編碼的功能以外,”enca”還有一個好處就是如果文件本來就是你要轉換的那種編碼,它不會報錯,還是會print出結果來, 而”iconv”則會報錯。這對于腳本編寫是比較方便的事情。
本文介紹兩款文件編碼轉換工具,系統環境 Kali Linux 2.0,其他發行版類同
安裝方法:
命令格式:
例: 把當前目錄的文件都轉成 utf-8
更多用法請查看幫助 enca --help
命令格式:
當前編碼可以通過 file 查看
但是有時候我們可能的到的結果是:
這種情況下編碼就不好確定了,下面記下的兩條第一條是我自己轉換過的文件用的,第二條是從網上搜到有人解決問題的編碼。 如果是 Non-ISO 類型,下面的內容僅供參考,更多使用方法請查看 help 和 搜索引擎
在Linux中查看文件編碼可以通過以下幾種方式:1.在Vim中可以直接查看文件編碼:set fileencoding,即可顯示文件編碼格式。2. enca (如果你的系統中沒有安裝這個命令,可以用sudo yum install -y enca 安裝 )查看文件編碼
下面介紹一下,在 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)編碼打開。
2. enca (如果你的系統中沒有安裝這個命令,可以用 sudo yum install -y enca 安裝 )查看文件編碼 $ enca filename filename: Universal transformation format 8 bits; UTF-8 CRLF line terminators 需要說明一點的是,enca 對某些 GBK 編碼的文件識別的不是很好,識 別時會出現: Unrecognized encoding
二,文件編碼轉換
1.在 Vim 中直接進行轉換文件編碼,比如將一個文件轉換成 utf-8格式 :set fileencoding=utf-8 2. iconv 轉換,iconv 的命令格式如下:輸入/輸出格式規范: -f, --from-code=名稱 原始文本編碼 -t, --to-code=名稱 輸出編碼 信息: -l, --list 列舉所有已知的字符集 輸出控制: -c 從輸出中忽略無效的字符 -o, --output=FILE 輸出文件 Svn8.Com -s, --s ilent 關閉警告 --verbose 打印進度信息 -?, --help 給出該系統求助列表 --usage 給出簡要的用法信息 -V, --version 打印程序版本號 例子: iconv -f utf-8 -t gb2312 aaa.txt bbb.txt 這個命令讀取 aaa.txt 文件,從 utf-8編碼轉換為 gb2312編碼,其輸出定向到 bbb.txt文件。 iconv -f encoding -t encoding inputfile 比如將一個 UTF-8 編碼的文件轉換成 GBK 編碼 iconv -f GBK -t UTF-8 file1 -o file2
3. enconv 轉換文件編碼 比如要將一個 GBK 編碼的文件轉換成 UTF-8編碼,操作如下 enconv -L zh_CN -x UTF-8 filename
i).在 Vim 中可以直接查看文件編碼(shift + :)輸入set fileencoding 即可顯示文件編碼格式。
如果你只是想查看其它編碼格式的文件或者想解決用 Vim 查看文件亂碼的問題,那么你可以在 ~/.vimrc 文件中添加以下內容: set
encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936 這樣, 就可以讓 vim 自動識別文件編碼
(可以自動識別 UTF-8或者 GBK 編碼的文件) ,其實就是依照 fileencodings
提供的編碼列表嘗試,如果沒有找到合適的編碼,就用 latin-1(ASCII)編碼打開。
ii). enca (需要安裝)查看文件編碼:$enca filename filename: Universal
transformation format 8 bits; UTF-8 CRLF line terminators 需要說明一點的是,enca
對某些 GBK 編碼的文件識別的不是很好,識別時會出現: Unrecognized encoding
iii)還有一種很簡單的方式,file 文件名 可以查看非elf文件的編碼格式
名稱欄目:linuxenca命令 enca 命令
網站地址:http://m.kartarina.com/article46/hgsihg.html
成都網站建設公司_創新互聯,為您提供網站收錄、網站建設、企業網站制作、網站改版、網站內鏈、標簽優化
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯