linux 下程式設計,用到的程式設計工具是vi,編輯編譯都方便,但經常出現中文亂碼問題。通常在和windows同步**的情況下,windows下預設支援的是gb編碼,而linux的vi 和vim預設支援的編碼是utf-8(gedit預設也是utf-8)。
所以在linux下出現中文亂碼,一般情況下是編碼出現了問題,需要更改一下配置檔案就好了。
方法一在檔案.virc中新增以下**,檔案沒有需要新建
$vi ~/.virc
let&termencoding=
&encoding
set fileencodings=utf-8,gbk
$:wq
方法二
在/etc/virc中進行如下修改
修改前:
if v:lang =~ "utf8$"
|| v:lang =~ "utf-8$"
set fileencodings=ucs-bom,utf-8,latin1,gbk
endif
修改後:
$vi /etc/virc
if v:lang =~ "utf8$"
|| v:lang =~ "utf-8$"
set fileencodings=ucs-bom,utf-8,latin1,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
endif
方法三
前兩種方法無效時,可以嘗試一下這種方法,修改當前的語言環境
執行lang=zh_cn.utf-8修改當前環境語言常量
解決辦法:先檢查linux本地字元編碼集,如下:
$ locale
lang=zh_cn.gbk
lc_ctype=
"zh_cn.gbk"
lc_numeric=
"zh_cn.gbk"
lc_time=
"zh_cn.gbk"
lc_collate=
"zh_cn.gbk"
lc_monetary=
"zh_cn.gbk"
lc_messages=
"zh_cn.gbk"
lc_*****=
"zh_cn.gbk"
lc_name=
"zh_cn.gbk"
lc_address=
"zh_cn.gbk"
lc_telephone=
"zh_cn.gbk"
lc_measurement=
"zh_cn.gbk"
lc_identification=
"zh_cn.gbk"
lc_all=
然後更改機器的編碼:
export lang=zh_cn.utf8
vim編碼方面的基礎知識:
1、存在3個變數:
encoding—-該選項使用於緩衝的文字(你正在編輯的檔案),暫存器,vim 指令碼檔案等等。你可以把 『encoding』 選項當作是對2、此3個變數的預設值:vim 內部執行機制的設定。 fileencoding—-該選項是vim寫入檔案時採用的編碼型別。
termencoding—-該選項代表輸出到客戶終端(term)採用的編碼型別。
encoding—-與系統當前locale相同,所以編輯檔案的時候要考慮當前locale,否則要設定的東西就比較多了。由此可見,編輯不同編碼檔案需要注意的地方不僅僅是這3個變數,還有系統當前locale和檔案本身編碼以及自動編碼識別、客戶執行vim的終端所使用的編碼型別3個關鍵點,這3個關鍵點影響著3個變數的設定。fileencoding—-vim開啟檔案時自動辨認其編碼,fileencoding就為辨認的值。為空則儲存檔案時採用encoding的編碼,如果沒有修改encoding,那值就是系統當前locale了。
termencoding—-預設空值,也就是輸出到終端不進行編碼轉換。
vim 檔案編碼識別與亂碼處理
linux中vi顯示中文亂碼的問題
由於在windows下預設是gb編碼,而我的vim預設是utf 8 gedit預設也是utf 8 所以開啟會成亂碼。修改了一下配置檔案,使vi支援gb編碼就好了。vi vimrc let termencoding encoding set fileencodings utf 8,gbk wq 再次開...
Linux中vi顯示中文亂碼的問題
由於在windows下預設是gb編碼,而我的vim預設是utf 8 gedit預設也是utf 8 所以開啟會成亂碼。修改了一下配置檔案,使vi支援gb編碼就好了。vi vimrc let termencoding encoding set fileencodings utf 8,gbk wq 再次開...
linux出現中文亂碼的問題
說明 很多時候碰到中文目錄,但是想進去又出現亂碼,這個時候換個工具很麻煩很頭痛,採用以下命令試試。1 檢視目錄或檔案對應的節點,使用命令ls li或ls i 2 進入中文目錄下,使用命令 cd find inum x x是檔案得inode號,每乙個檔案都有乙個獨一無二的inode節點 部分find命...