整理了近期在项目上做的一些技术研究,希望与大家共同探讨交流。
场景:Mac OS
terminal 本地中文显示正常
ssh 登陆linux,服务器中文显示乱码
尝试解决:
方法1. (未解决)
在本地与服务器执行 locale 命令, 发现字符编码一致,都是 zh_CN.UTF-8。尝试再设置一遍
本地设置
locale
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
locale
服务器执行
locale
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
locale
结果:无效
方法2. (未解决)
服务器执行 locale -a 查看可选字符集,发现只有 zh_CN.utf8 没有 zh_CN.UTF-8。 本地只有 zh_CN.UTF-8 没 zh_CN.utf8。 规避
本地设置
locale
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
locale
服务器执行
locale
export LANG=zh_CN.utf8
export LC_ALL=zh_CN.utf8
locale
结果:无效
方法3.(解决)
本地不动,还是 zh_CN.UTF-8,尝试设置服务器 LANG=zh_CN.gbk
本地设置
locale
服务器执行
locale
export LANG=zh_CN.gbk
export LC_ALL=zh_CN.gbk
locale
结果:解决。 目前本地编码 zh_CN.UTF-8 服务器编码 zh_CN.gbk
解决过程尝试了 Chrome Secure Shell终端, Iterm2终端,虚拟机win7 + CRT,双系统win10 + CRT。
走头无路的同学可以尝试一下“方法3” ~~
博主分享Mac OS下terminal本地中文显示正常,但ssh登陆Linux服务器中文显示乱码的解决过程。尝试了设置本地与服务器字符编码为zh_CN.UTF - 8、规避差异设置等方法均无效,最终将服务器编码设为zh_CN.gbk解决问题,还测试了多种终端。

1万+

被折叠的 条评论
为什么被折叠?



