linux修改文件編碼
A. 如何在 linux 中將文件編碼轉換為 UTF-8
Linux中轉換文件的編碼是用iconv命令,iconv命令有三個選項是必須要掌握的:
-f選項:即from,表示原本的編碼格式
-t選項:即to,表示後來的新編碼
-o選項:用於指定輸出文件,就是轉換編碼後的新文件,如果沒有指定輸出文件選項,原來的文件會被新文件覆蓋掉。
下面是將GB2312編碼的文件轉換成UTF-8編碼的例子:
iconv -f gb2312 -t utf8 gb2312.txt -o utf8.txt
例子中gb2312.txt就是要轉換的文件,utf8.txt就是轉換後的新文件。
B. linux文件編碼轉換及Windows上創建的文件轉為Linux格式
在Linux上查看文件,有時候會出現中文亂碼的問題。這是因為文件編碼不兼容導致的,需要進行文件轉碼。
1、用VI查看文件編碼,在Vi命令模式以下命令,即可顯示文件編碼格式。
2、 改寫~/.vimrc 文件,在文件中添加以下內容,就可以讓vi自動識別UTF-8或者GBK編碼的文件。
將window上創建的腳本傳輸到linux執行時,會出現-bash: xxx: /bin/sh^M: bad interpreter: No such file or directory的錯誤。
1、vi打開文件,並在命令模式下輸入以下命令回車,此時看到的是dos格式。
2、修改文件格式, 同樣在vi命令格式下,輸入以下修改文件格式。
C. 如何在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 需要說明一點的是,enca對某些GBK編碼的文件識別的不是很好,識別時會出現:
D. 如何批量修改linux 文件編碼格式
批量轉換文件的編碼當然是使用命令來轉換咯,如果文件太多還可以寫一個shell腳本進行批量轉換,Linux系統中轉換文件編碼格式的命令是iconv。iconv命令的使用介紹一下,iconv命令很簡單,記住它的三個參數就可以了,下面是它的三個參數:
-f參數:表示from,就是原本的編碼格式
-t參數:表示to,就是後來的新編碼
-o參數:表示輸出文件,就是轉換編碼後的新文件的文件名,如果沒有這個參數新文件會將原來的文件覆蓋掉。
下面是將GB2312編碼的文件轉換成UTF-8編碼的例子:
iconv
-f
gb2312
-t
utf8
mygb2312.txt
-o
myutf8.txt
這個例子中mygb2412.txt就是要轉換的文件,myutf8.txt就是轉換後的新文件。
E. 如何批量修改linux 文件編碼格式
批量轉換文件的編碼當然是使用命令來轉換咯,如果文件太多還可以寫一個shell腳本進行批量轉換,Linux系統中轉換文件編碼格式的命令是iconv。iconv命令的使用介紹一下,iconv命令很簡單,記住它的三個參數就可以了,下面是它的三個參數:
-f參數:表示from,就是原本的編碼格式
-t參數:表示to,就是後來的新編碼
-o參數:表示輸出文件,就是轉換編碼後的新文件的文件名,如果沒有這個參數新文件會將原來的文件覆蓋掉。
下面是將GB2312編碼的文件轉換成UTF-8編碼的例子:
iconv -f gb2312 -t utf8 mygb2312.txt -o myutf8.txt
這個例子中mygb2412.txt就是要轉換的文件,myutf8.txt就是轉換後的新文件。
F. 如何在Linux中將文件編碼轉換為UTF-8
在Linux中轉換文件的編碼可以使用iconv命令,它的使用很簡單的,比如下面這條命令將GB2312編碼的文件轉換成UTF-8編碼的文件:
iconv -f gb2312 -t utf8 mygb2312.txt -o myutf8.txt
這個例子中mygb2412.txt是要轉換的文件,myutf8.txt是轉換後的新文件。 iconv命令最常用的形式就是上面這條命令,它所使用的三個選項解釋如下:
-f選項:就是from的意思,後面跟原來的編碼格式
-t選項:英文to的意思,後面跟轉換後的新編碼
-o選項:指定輸出文件,就是轉換編碼後的新文件的文件名,沒有這個參數時新文件會將原來的文件覆蓋。
其實還可以用幾乎每個Linux發行版都自帶的gedit這個軟體打開需要轉換編碼的文件,然後選擇另存為功能,在保存文件對話框中選擇UTF-8編碼,再輸入一個新文件名點擊保存就轉換出一個UTF-8編碼的文件了。
G. 如何在 Linux 中將文件編碼轉換為 UTF-8
1、iconv命令來轉換文件的編碼,格式:
iconv -f 原本的編碼格式 -t 要轉換成的編碼 文件名 -o 新文件名
2、例如:
iconv -f gb2312 -t utf8 a.txt -o utf8.txt
3、vim 文件名.txt
:set fileencoding
:set fenc
查看現在文本的編碼
:set fenc=編碼
轉換當前文本的編碼為指定的編碼
:set encoding=編碼
:set enc=編碼
以指定的編碼顯示文本,但不保存到文件中。
輸入 :e ++enc=gbk 強制用gbk打開
輸入 :w ++enc=utf8 轉換到utf8保存。
4、可以使用 file 命令,並添加 -i 或 --mime 參數來查看一個文件的字元編碼
file -i a.txt
H. linux批量將文件編碼由gbk轉成utf8
一些老的項目,文件編碼用的還是gbk,很不利於擴展及維護。經常需要在程序中進行判斷及轉碼,容易出現亂碼現象。最好的方式就是將整個項目轉成utf-8。那麼如何批量將一個目錄下的文件轉編碼?
設置 ~/.vimrc
找出目錄下的所有文件類型
轉碼的腳本
gbk_to_utf8.sh
gbk_utf8.vi
在當前目錄下執行轉碼腳本:
歡迎查看我的網站原文
I. suse linux更改編碼格式posix
SUSE Linux編碼問題
解決問題是:
1.手動更改profile文件的命令:vi /etc/profile,2.在文件的末尾添加以下兩行命令:export LC_ALL="zh_CN.GBK"
3.也可在/root/.bash_profile文件的末尾添加以下兩行命令
4.修改成功以後用locale命令查看,修改前的默認設置。