轉:https://segmentfault.com/q/1010000000150673nginx
用Mac的iterm2 ssh連上去,終端顯示中文亂碼,也不能輸入中文,然而本地終端能夠顯示和輸入。vim
這種狀況通常是終端和服務器的字符集不匹配,MacOSX下默認的是utf8字符集。
輸入locale
能夠查看字符編碼設置狀況,而個人對應值是空的。
由於我在本地和服務器都用zsh
替代了bash
,並且使用了oh-my-zsh
,而默認的.zshrc
沒有設置爲utf-8
編碼,因此本地和服務器端都要在.zshrc
設置,步驟以下,bash對應.bash_profile
或.bashrc
文件。segmentfault
1.在終端下輸入bash
vim ~/.zshrc
或者使用其餘你喜歡的編輯器編輯~/.zshrc
文件
<!--more-->服務器
2.在文件內容末端添加:ssh
export LC_ALL=en_US.UTF-8 export LANG=en_US.UTF-8
接着重啓一下終端,或者輸入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"
這時,中文輸入和顯示都正常了。spa