Mac 本地终端中文无乱码, 远程服务器中文乱码

2017-04-05  本文已影响0人  patiencing

下面有些配图丢失了, 待补充

缘起

终端命令行操作时碰到中文乱码的问题, 很困惑, 因为


尝试解决

第1步 分析

既然本地的中文无乱码, 而远程服务器的中文乱码, 肯定是本地设置编码格式和远程服务器的不一致;


第2步 查看远程服务器的编码格式

命令行 cat /etc/sysconfig/i18n, 显示结果是 LANG="zh_CN.UTF-8"


第3步 查看本地的编码格式

命令行 locale
结果如下图所示:
[图片上传失败...(image-184a62-1540029855628)]

证实的确是本地编码设置的问题.


第4步 修改本地编码设置

命令行 export LANG=zh_CN.UTF-8
[图片上传失败...(image-e6cbc2-1540029855628)]

这时候使用测试远程服务器, 能够正常显示了:


中文乱码04

波折

但是第二次再次登录服务器后发现仍然中文乱码! 使用命令行 locale, 发现之前的 locale 设置被重置回去了.

查询后得知 export 命令的效力只限于当次登陆期间, 要永久修改配置, 需要在 shell 的配置文件中修改. 由于自己使用的是 zsh, 那么则需要在.zshrc 文件中设置:

执行命令 vi ~/.zshrc, 然后在末尾添加:

export LC_ALL=zh_CN.UTF-8
export LANG=zh_CN.UTF-8

最后, 执行命令 source ~/.zshrc 使配置立即生效.


反思

Shell 的 export 命令的效力只限于当次登陆期间.


参考文章


文章历史


如果你觉得我的文章对你有用, 麻烦给些改进的建议, 或者打个"喜欢" _

上一篇 下一篇

猜你喜欢

热点阅读