解决 Mac 连接 Linux 文件名出现中文乱码问题(warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory)

今天老王在将一个网站的数据从阿里云上传到搬瓦工时,在 Mac 上用 iTerm2 远程连接搬瓦工 VPS 后,发现一个中文名的文件乱码,一开始以为是服务器语言包的问题,尝试装了中文支持,但是中文文件名还是乱码。后来发现有个警告:warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory,解决了这个警告后,中文名就能正常显示了。

一、问题描述

本地 MacBook,远程工具是 iTerm2,在远程连接到搬瓦工 VPS 后(CentOS 7 系统),完成网站数据迁移后,尝试打开网站,发现出现了很多 404 错误,看了下服务器上的对应目录,发现所有以中文命名的文件全部都是乱码,后来尝试用 touch 命令新建一个中文名的文件,居然也是问号(?)乱码。

按照网上教程尝试在搬瓦工 VPS 上安装了一些中文包支持,但是文件名中的中文还是乱码。

二、问题解决

后来注意到在用 iTerm 连上搬瓦工 VPS 时,会有一个警告:

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_*,注释掉这一行。

之后重启 iTerm2,再远程连接搬瓦工 VPS,发现这个警告不见了,中文文件名乱码的问题也解决了!

赞(0)
关注我们
未经允许不得转载:老王博客 » 解决 Mac 连接 Linux 文件名出现中文乱码问题(warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址