iterm 配置utf8编码,本地终端中文不乱码,ssh远程中文乱码,咋整啊

发布于 2022-08-30 16:24:35 字数 47 浏览 15 评论 0

iterm 配置utf8编码,本地终端中文不乱码,ssh远程中文乱码,怎么办

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

木格 2022-09-06 16:24:35

编辑~/.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

濫情▎り 2022-09-06 16:24:35

问题:

服务器是ubuntu,用Mac的iterm2 ssh连上去,终端显示中文乱码,也不能输入中文,然而本地终端可以显示和输入。

解决方法:

这种情况一般是终端和服务器的字符集不匹配,MacOSX下默认的是utf8字符集。
输入locale可以查看字符编码设置情况,而我的对应值是空的。
因为我在本地和服务器都用zsh替代了bash,而且使用了oh-my-zsh,而默认的.zshrc没有设置为utf-8编码,所以本地和服务器端都要在.zshrc设置,步骤如下,bash对应.bash_profile.bashrc文件。

1.在终端下输入

vim ~/.zshrc

或者使用其他你喜欢的编辑器编辑~/.zshrc文件
<!--more-->

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"

这时,中文输入和显示都正常了。

银河中√捞星星 2022-09-06 16:24:35

遇到了同样的问题,主要是远程服务器的语言编码与终端的编码不一致。

在远程服务器端的 ~/.bashrc 文件里面加入以下代码:

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

然后bash一下,中文就可以正常显示。

下次登录 .bashrc 文件自动运行,中文照样正常显示。

一直在等你来 2022-09-06 16:24:35

遠程終端和本地終端編碼不匹配的原因

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文