linux - iterm 配置utf8编码,本地终端中文不乱码,ssh远程中文乱码,咋整啊
高洛峰
高洛峰 2017-04-17 12:06:30
0
4
937
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回覆(4)
PHPzhong

編輯~/.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

Peter_Zhu

遇到了同樣的問題,主要是遠端伺服器的語言編碼與終端的編碼不一致。

在遠端伺服器端的 ~/.bashrc 檔案裡面加入以下程式碼:

export LANG='UTC-8'
export LC_ALL='en_US.UTF-8'

然後bash一下,中文就可以正常顯示。

下次登入 .bashrc 檔案自動執行,中文照樣正常顯示。

Ty80

遠端終端與本地端編碼不符的原因

伊谢尔伦

問題:

伺服器是ubuntu,用Mac的iterm2 ssh連上去,終端機顯示中文亂碼,也不能輸入中文,然而本地終端可以顯示和輸入。

解決方法:

這種情況一般是終端機和伺服器的字元集不匹配,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回車會顯示下面內容。

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"

這時,中文輸入和顯示都正常了。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!