一、问题描述
本地 MacBook,将一个网站的数据从阿里云上传到ECS服务器后(CentOS 7 系统),完成网站数据迁移后,打开网站发现出现了很多 404 ,然后检查了下服务器上的对应目录,发现所有以中文命名的文件全部都是乱码,后来尝试用 touch 命令新建一个中文名的文件,居然也是问号(?)乱码。
然后在ECS上安装了中文包支持,但是文件名中的中文还是乱码。
二、问题解决
后来注意到远程连接会有一个警告:
warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory
网上搜了这个警告的解决办法,基本有 2 个。
1、解决办法 1
在 Mac 终端编辑 ~/.zshrc
文件,在文件末添加两行代码:
export LC_ALL=en_US.UTF-8 export LANG=en_US.UTF-8
然后 source ~/.zshrc
使设置生效。
2、解决办法 2
在 Mac 终端编辑 /etc/ssh/ssh_config
,在最后一行找到 SendEnv LANG LC_*
,注释掉这一行,中文文件名乱码的问题也解决了!