阿里云 ECS Centos7 echo 中文可以正常显示, 编辑文件中文就是乱码, 怎么解决
问题描述
发现自己ECS环境, linux中文无法正常显示, 也安装了中文语言包!
问题出现的平台版本及自己尝试过哪些方法
系统版本号
➜ ~ cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core)
系统语言包
➜ ~ locale -a
locale: Cannot set LC_CTYPE to default locale: No such file or directory
...
en_US
en_US.iso88591
en_US.iso885915
en_US.utf8
zh_CN
zh_CN.gb18030
zh_CN.gb2312
zh_CN.gbk
zh_CN.utf8
zh_HK
zh_HK.big5hkscs
zh_HK.utf8
zh_SG
zh_SG.gb2312
zh_SG.gbk
zh_SG.utf8
zh_TW
zh_TW.big5
zh_TW.euctw
zh_TW.utf8
zu_ZA
zu_ZA.iso88591
zu_ZA.utf8
可以看到系统是已经安装过语言包的, 并且在 /etc/locale.conf
文件中添加了相应配置, 如下:
➜ ~ cat /etc/locale.conf
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
相关代码
使用Mac通过ssh工具连接到远程ECS服务器, 在命令行中输入中文可能正常显示
➜ ~ echo "旅途中的牧马人"
旅途中的牧马人
但是如果将中文输出到文件后或在文件中直接编辑输入中文就会显示乱码
➜ ~ echo "旅途中的牧马人" > test.txt
➜ ~ vim test.txt
你期待的结果是什么?实际看到的错误信息又是什么?
老铁们有没有遇到过这样问题的, 怎么处理?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我看不到你vimrc文件的内容,但我猜有可能是这的问题
你试一下
添加
LANGUAGE
变量不对echo输出的只是你当前shell窗口的编码集并不是linux系统的编码,你需要修改linux的内核系统编码,操作如下:
修改系统本地环境文件
如果显示
那么将“C”修改为
zh_CN.UTF-8
可能会显示其他,只要不是
zh_CN.UTF-8
的话,就将原字符修改为zh_CN.UTF-8
即可重新加载配置
重新登录shell链接对应服务器