這種情況一般是終端和伺服器的字元集不比對,MacOSX下預設的是utf8字元集。
輸入locale可以檢視字元編碼設定情況,而我的對應值是空的。
因為我在本地和伺服器都用zsh替代了bash,而且使用了oh-my-zsh,而預設的.zshrc沒有設定為utf-8編碼,是以本地和伺服器端都要在.zshrc設定,步驟如下,bash對應.bash_profile或.bashrc檔案。
1.在終端下輸入
vim ~/.zshrc
或者使用其他你喜歡的編輯器編輯~/.zshrc檔案
2.在檔案内容末端添加:
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
接着重新開機一下終端,或者輸入source ~/.zshrc使設定生效。
設定成功的話,在本地和登入到伺服器輸入locale回車會顯示下面内容。
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"
這時,中文輸入和顯示都正常了。
取消
評論