拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
編輯~/.vimrc文件,加上以下幾行: set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936 set termencoding=utf-8 set encoding=utf-8
http://blog.icodeu.com/?p=560
遇到了同樣的問題,主要是遠端伺服器的語言編碼與終端的編碼不一致。
在遠端伺服器端的 ~/.bashrc 檔案裡面加入以下程式碼:
export LANG='UTC-8' export LC_ALL='en_US.UTF-8'
然後bash一下,中文就可以正常顯示。
下次登入 .bashrc 檔案自動執行,中文照樣正常顯示。
遠端終端與本地端編碼不符的原因
伺服器是ubuntu,用Mac的iterm2 ssh連上去,終端機顯示中文亂碼,也不能輸入中文,然而本地終端可以顯示和輸入。
這種情況一般是終端機和伺服器的字元集不匹配,MacOSX下預設的是utf8字元集。 輸入locale可以查看字元編碼設定情況,而我的對應值是空的。 因為我在本地和伺服器都用zsh取代了bash,而且使用了oh-my-zsh,而預設的.zshrc沒有設定為utf-8編碼,所以本地和伺服器端都要在.zshrc設置,步驟如下,bash對應.bash_profile或.bashrc檔案。
locale
zsh
bash
oh-my-zsh
.zshrc
utf-8
.bash_profile
.bashrc
1.在終端機下輸入
vim ~/.zshrc
或使用其他你喜歡的編輯器編輯~/.zshrc檔案
~/.zshrc
2.在文件內容末端新增:
export LC_ALL=en_US.UTF-8 export LANG=en_US.UTF-8
接著重啟一下終端,或是輸入source ~/.zshrc使設定生效。
source ~/.zshrc
設定成功的話,在本地和登入到伺服器輸入locale回車會顯示下面內容。
LANG="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_CTYPE="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_ALL="en_US.UTF-8"
這時,中文輸入和顯示都正常了。
編輯~/.vimrc文件,加上以下幾行:
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
http://blog.icodeu.com/?p=560
遇到了同樣的問題,主要是遠端伺服器的語言編碼與終端的編碼不一致。
在遠端伺服器端的 ~/.bashrc 檔案裡面加入以下程式碼:
然後bash一下,中文就可以正常顯示。
下次登入 .bashrc 檔案自動執行,中文照樣正常顯示。
遠端終端與本地端編碼不符的原因
問題:
伺服器是ubuntu,用Mac的iterm2 ssh連上去,終端機顯示中文亂碼,也不能輸入中文,然而本地終端可以顯示和輸入。
解決方法:
這種情況一般是終端機和伺服器的字元集不匹配,MacOSX下預設的是utf8字元集。
輸入
locale
可以查看字元編碼設定情況,而我的對應值是空的。因為我在本地和伺服器都用
zsh
取代了bash
,而且使用了oh-my-zsh
,而預設的.zshrc
沒有設定為utf-8
編碼,所以本地和伺服器端都要在.zshrc
設置,步驟如下,bash對應.bash_profile
或.bashrc
檔案。1.在終端機下輸入
或使用其他你喜歡的編輯器編輯
~/.zshrc
檔案2.在文件內容末端新增:
接著重啟一下終端,或是輸入
source ~/.zshrc
使設定生效。設定成功的話,在本地和登入到伺服器輸入
locale
回車會顯示下面內容。這時,中文輸入和顯示都正常了。