Linux系統中關於檔案編碼以及編碼的轉換

2021-06-03 01:28:19 字數 1051 閱讀 1309

windows中預設的檔案格式是gbk(gb2312),當然也可以儲存為utf-8的,最簡單的方法是用記事本的「另存為」就可以做到。 

為了與windows相容,securecrt中檔案編碼的預設配置是」default」,其實也就是gbk。如果我們將其更改為了」utf-8″,那麼我們檢視從windows中scp過去的gbk檔案就會變成亂碼,需要進行轉換,比較麻煩。 

不過有時候我們也需要進行編碼的轉換,比如這次我這次在建立cacti的模板的時候使用了中文,apache預設是utf-8的編碼,所以記錄到mysql資料庫中的就是utf-8的編碼了(奇怪的是,在mysql中使用」set names utf-8″看不到正確的中文,需要使用」hex()」函式來看二進位制,數一下字元數量,看是不是utf-8…..)。而當我使用批量新增主機的指令碼來新增新伺服器資訊到資料庫後,發現在網頁中出現了亂碼。原因是在cli中使用指令碼的話,中文是使用gbk的格式儲存到資料庫中的。於是變成了很鬱悶的情況,無論將瀏覽器編碼設定為」utf-8″還是」gb2312″,總會有一部分中文是亂碼的。 

解決的方法,不是將原來的模板的中文都轉換成gb2312,就是要將以後新增的主機資訊裡面的中文轉換成utf-8。因為我比較喜歡utf-8一點,所以我決定用後一種方法。 

linux裡面轉換編碼的方法很多,google了一下,一般的人都是用」iconv」命令來進行轉換。但是由於我需要在指令碼裡面判斷檔案的編碼,」iconv」就不太適用。其實linux裡面還有另乙個能進行編碼轉換,並比」iconv」功能強大的」enca」。 

debian中的安裝: 

aptitude install enca 

使用方法: 

enca -l zh_cn file 檢查檔案的編碼 

enca -l zh_cn -x utf-8 file 將檔案編碼轉換為"utf-8"編碼 

enca -l zh_cn -x utf-8 < file1 > file2 如果不想覆蓋原檔案可以這樣 

除了有檢查檔案編碼的功能以外,」enca」還有乙個好處就是如果檔案本來就是你要轉換的那種編碼,它不會報錯,還是會print出結果來,而」iconv」則會報錯。這對於指令碼編寫是比較方便的事情。 

Linux系統中關於檔案編碼以及編碼的轉換

為了與windows相容,securecrt中檔案編碼的預設配置是 default 其實也就是gbk。如果我們將其更改為了 utf 8 那麼我們檢視從windows中scp過去的gbk檔案就會變成亂碼,需要進行轉換,比較麻煩。不過有時候我們也需要進行編碼的轉換,比如這次我這次在建立cacti的模板的...

Linux系統建立和掛載XFS檔案系統以及新增磁碟

xfs是高效能檔案系統,sgi為他們的irix平台而設計。自從2001年移植到linux核心上,由於它的高效能,xfs成為了許多企業級系統的首選,特別是有大量資料,需要結構化伸縮性和穩定性的。例如,rhel centos 7 和oracle linux將xfs作為預設檔案系統,suse opensu...

linux 系統改變檔案的編碼格式

檢視檔案編碼 在linux中檢視檔案編碼可以通過以下幾種方式 1.在vim 中可以直接檢視檔案編碼 set fileencoding 即可顯示檔案編碼格式。如果你只是想檢視其它編碼格式的檔案或者想解決用vim檢視檔案亂碼的問題,那麼你可以在 vimrc 檔案中新增以下內容 set encoding ...