iTerm2中文显示问题处理

最近一次安装的macSO 10.14 系统,由于我比较习惯英文界面,所以Perfered language选择English。但是,发现在iterm2中无法正确显示中文和输入中文。(其他应用软件都正常)。

搜索了一下,发现是由于环境变量中和locale相关参数导致的问题:

在执行 locale 命令可以看到如下输出,显示语言都没有包含支持utf-8

LANG=
LC_COLLATE="C"
LC_CTYPE="C"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=

虽然iterm2的Perferences设置Termianl的Character encoding为Unicode (UTF-8),但是依然无法显示和输入中文。

解决方法是设置环境变量,即设置 ~/.bashrc

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"
export LANG LC_COLLATE LC_CTYPE LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME LC_ALL

然后 . ~/.bashrc 就可以正常使用中文输入。

同样,如果ssh远程登录到Linux服务器上,Linux服务器上也应该这样设置。

Last updated