linux編碼方式
1. linux轉換文件編碼格式
在 Vim 中直接進行轉換文件編碼,比如將一個文件轉換成 utf-8格式 :set fileencoding=utf-8;
iconv 轉換,iconv 的命令格式如下:輸入/輸出格式規范:iconv -f, --from-code=名稱 原始文本編碼 -t, --to-code=名稱 ,比如說將一個 UTF-8 編碼的文件轉換成 GBK 編碼 iconv -f GBK -t UTF-8 file1 -o file2
enconv 轉換文件編碼 比如要將一個 GBK 編碼的文件轉換成 UTF-8編碼,操作如下 enconv -L zh_CN -x UTF-8 filename
2. 如何查看linux系統編碼格式
使用locale命令
UTF-8 LANGUAGE= LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8"
3. 如何在Linux系統實現字元編碼轉換
Linux 下查看文件字元編碼和轉換編碼 如果你需要在 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)編碼打開。
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
4. linux查看文件編碼格式命令
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文件的編碼格式
5. 查看linux編碼格式
在終端窗口中使用file -i /opt/test.log命令,按回車鍵,就可以看到編碼格式了
6. linux查看文件編碼命令
1,使用file 命令查看文件的編碼格式
[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
7. linux下怎麼改變文件的編碼格式
1.在Vim中直接進行轉換文件編碼,比如將一個文件轉換成utf-8格式
:set fileencoding=utf-8
2. enconv 轉換文件編碼,比如要將一個GBK編碼的文件轉換成UTF-8編碼,操作如下
enconv -L zh_CN -x UTF-8 filename
3. iconv 轉換,iconv的命令格式如下:
iconv -f encoding -t encoding inputfile
比如將一個UTF-8 編碼的文件轉換成GBK編碼
iconv -f GBK -t UTF-8 file1 -o file2
查看文件編碼file命令
file ip.txt ip.txt: UTF-8 Unicode text, with escape sequences
一、利用iconv命令進行編碼轉換文件內容編碼轉換 iconv命令用於轉換指定文件的編碼,默認輸出到標准輸出設備,亦可指定輸出文件。 用法: iconv [選項...] [文件...] 有如下選項可用: 輸入/輸出格式規范: -f, --from-code=名稱 原始文本編碼 -t, --to-code=名稱 輸出編碼 信息: -l, --list 列舉所有已知的字元集 輸出控制: -c 從輸出中忽略無效的字元 -o, --output=FILE 輸出文件 -s, --silent 關閉警告 --verbose 列印進度信息 -?, --help 給出該系統求助列表 --usage 給出簡要的用法信息 -V, --version 列印程序版本號 例子: iconv -f utf-8 -t gb2312 aaa.txt >bbb.txt 這個命令讀取aaa.txt文件,從utf-8編碼轉換為gb2312編碼,其輸出定向到bbb.txt文件。
8. linux怎麼修改默認編碼
Windows的默認編碼為GBK,Linux的默認編碼為UTF-8。在Windows下編輯的中文,在Linux下顯示為亂碼。為了解決此問題,修改Linux的默認編碼為GBK。方法如下:
方法1:
vi /etc/sysconfig/i18n
默認為:
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
修改為:
LANG="zh_CN.GBK"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh"
SYSFONT="latarcyrheb-sun16"
方法2:
vi /etc/profile
export LC_ALL="zh_CN.GBK"
export LANG="zh_CN.GBK"
運行locale指令得到當前系統編碼設置的詳細資料。
一、locale的五臟六腑
1、 語言符號及其分類(LC_CTYPE)
2、 數字(LC_NUMERIC)
3、 比較和排序習慣(LC_COLLATE)
4、 時間顯示格式(LC_TIME)
5、 貨幣單位(LC_MONETARY)
6、 信息主要是提示信息,錯誤信息, 狀態信息, 標題, 標簽, 按鈕和菜單等(LC_MESSAGES)
7、 姓名書寫方式(LC_NAME)
8、 地址書寫方式(LC_ADDRESS)
9、 電話號碼書寫方式(LC_TELEPHONE)
10、度量衡表達方式(LC_MEASUREMENT)
11、默認紙張尺寸大小(LC_PAPER)
12、對locale自身包含信息的概述(LC_IDENTIFICATION)。
二、理解locale的設置
設定locale就是設定12大類的locale分類屬性,即 12個LC_*。除了這12個變數可以設定以外,為了簡便起見,還有兩個變數:LC_ALL和LANG。
它們之間有一個優先順序的關系:LC_ALL > LC_* > LANG
可以這么說,LC_ALL是最上級設定或者強制設定,而LANG是默認設定值。
三 具體設定locale的方法(zh_CN.UTF-8、zh_CN.GBK)
freebsd的設置:
1.GDM登錄改為終端登錄後startx啟動圖形桌面
2.在~/.cshrc中增加如下語句,(根據自己使用的shell進行相應設置)
setenv LANG zh_CN.GBK
setenv LC_ALL zh_CN.GBK
setenv LC_CTYPE zh_CN.GBK
3.修改/etc/fstab的默認值:
linux 設置:
1.修改/etc/sysconfig/i18n文件,LANG="zh_CN.UTF-8"或LANG="zh_CN.GBK"
普通用戶修改~/.profile
...
export LANG zh_CN.GBK
...
2.修改/etc/fstab的默認值
9. 有關linux和windows下默認編碼方式的區別
Windows下的文字到了Linux下亂碼原因是Windows中默認的文件格式是GBK(gb2312),而Linux一般都是UTF-8,編碼格式不相同導致的亂碼。幾種解決辦法如下: 1、在Windows上用記事本把文件,選擇另存為編碼方式改為 UTF-8;
10. linux下用什麼函數判斷字元串的編碼方式
如題,假設給你一個字元數組
char a[]="abc";
在它的編碼中gb2312和utf-8都一樣
對任意一個字元而言,並沒有編碼格式的概念。同樣的一個字母,在不同編碼集裡面代表不同的東西,當然也有可能恰好代表相同的東西。
編碼集並不是文本本身的屬性,而是觀察者的角度,也就是說你用什麼編碼集來觀察這段文本。——從程序的角度就是,你用什麼軟體去打開它。——編碼識別大多通過非法字元進行識別,也就是說僅僅當我們判斷具有非法的utf-8字元序列的時候,我們判斷一個文本「不是utf-8」編碼,但是我們永遠無法判斷一個文本「是utf-8編碼」。——如果不包含任何非法字元,那麼你就可以用任何編碼去查看他:
例如「逍遙」如果使用BIG5碼,但你還是可以使用GBK碼查看這兩個字,最後得到的是「殊換」。顯然這兩個詞都是合法的,如果僅僅給你這個詞,那麼你無論從理論還是實際上都不可能知道原文的作者究竟是想表達「逍遙」還是「殊換「。