问题:
终端ssh登录远程服务器,发现中文显示乱码。
ssh登录时,报错误
-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory
locale查看服务器字符集设置,报错误
[ ~]# locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LC_CTYPE=UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
解决:
export LC_CTYPE="zh_CN.UTF-8"
中文乱码消失,但是退出服务器重进发现登录和locale时报错仍然和原来一样。
查看setlocale命令是帮助用户来设置本地化字符集。
退出服务器,本地locale查看字符集
LANG=""
LC_COLLATE="C"
LC_CTYPE="UTF-8"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL="C/UTF-8/C/C/C/C"
本地export LC_CTYPE="zh_CN.UTF-8"(或者export LC_ALL="zh_CN.UTF-8")
问题解决