在一個Linux系統,用vi打開一個utf8編碼的文件,中文部分出現亂碼,這是一個很常見的問題。可用以下辦法解決:
在vi中運行命令:
:set encoding=utf8
這時應該就可以顯示正確的中文內容。vi有幾個與編碼有關的變量,分別是:
encoding:是vi內部處理文檔的編碼方式。
fileencoding:是vi寫入文件時采用的編碼類型。
fileencodings:是vi讀入文件時采用的編碼類型。
還有一個是,termencoding,表示輸出到客戶終端(Term)采用的編碼類型。
如果運行了以上設置還不行,有可能是終端程序的編碼問題。我使用的secureCRT終端程序,在secureCRT中進入會話選項,終端->外觀,字符編碼選“UTF-8”,保存設置,即可解決。
以上方法在多個系統證實可行,包括windows下的vim環境,以及國外godaddy主機的遠程登錄環境。