首頁 >運維 >linux運維 >linux中字元亂碼解決方法介紹

linux中字元亂碼解決方法介紹

尚
原創
2019-12-07 15:36:173818瀏覽

linux中字元亂碼解決方法介紹

遠端登入linux伺服器用vim在終端機下編輯檢視檔案經常會遇見各種中文亂碼問題。

做如下設定可基本解決vim中文亂碼問題

首先查看系統對中文的支援

locale -a | grep zh_CN

輸出樣例如下

zh_CN.gbk

zh_CN.utf8

vim 只能正確識別列表中的中文編碼文件,如需識別其他編碼類型的中文文件,則需要做系統升級

vi ~/.bash_profile

文件末尾加上

##export LANG="zh_CN.UTF -8"

export LC_ALL="zh_CN.UTF-8"

線上影片教學推薦:

linux影片教學

vim與編碼相關的參數:

1、eencoding,用於配置開啟檔案和儲存檔案的編碼,但只能有一個值,只適合少數檔案都是同種編碼的環境,所以一般不使用

2、fileencodings, 從名字上看就知道是fileencoding的增強版,可以配置多種不同的編碼,常見的配置為,配置好之後,列表中的文本編碼只要合法,都能被vim正確的讀取,建議配置:set fileencodings=utf-bom,utf-8,gbk,gb2312,gb18030,cp936,latin1

3、encoding,vim內部編碼,vim讀取檔案之後,但並不以讀取檔案的編碼來處理,而是會轉換成內部編碼的格式,這個編碼一般與作業系統相關,linux下utf-8居多,中文windows下則是gdk,建議配置:set encoding=utf- 8 

4、termencoding,vim輸出的編碼,輸出指輸出到作業系統或命令終端等,預設與作業系統的語言編碼一致,如果使用linux指令終端,建議終端和linux系統配置相同的編碼,然後配置相同的termencoding,否則顧全了vim就顧不上shell,不過如果shell不存在中文名文件,則配置終端和termencoding一致即可,對於windows,能自動的識別gbk和utf-8,不用特殊配置,建議配置:set termencoding=utf-8


5、fileformats,用於區分作業系統,主要是回車\r\n的區別,建議配置:set fileformats=unix,dos


常見的亂碼有以下幾種情形:


(1)將windows環境下的檔案rz到linux下時檔案出現亂碼


解決方案:

1、在rz之前使用notepad 將檔案格式轉換為UTF-8無BOM格式或ANSI編碼格式;

2、set encoding=utf-8;


(2)secureCRT或xterm2編輯環境中出現亂碼,只需在會話選項中調節字元編碼為GB2312或UTF-8


(3)當對日誌文件進行vim編輯時出現亂碼,大多數情況下是因為日誌檔案的格式為GB2312。


解決方案:1.set encoding=GB2312;2如果方案1不起作用的話,調整secureCRT或xterm2的編輯環境為GB2312

(4)wget下載檔案名稱亂碼

解決方案:一般加上–restrict-file-names=nocontrol,例如wget --restrict-file-names=nocontrol -m www.xxx.com/

###(5)cat檔案正常,vim檔案不正常#########解決方案:直接寫入/etc/vim/vimrc  ,最後一行加上###### #######set fileencodings=gb2312,utf-8  ######set fileencoding=gb2312  #######set termencoding=utf-8  ########### termencoding=utf-8  ############set termencoding=utf-8  ############set termencoding=utf-8  ############set termencoding=utf-8  ############

以上是linux中字元亂碼解決方法介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn