访问ftp文件 出现乱码怎么办

结论:在Serv-U8 .0中禁用OPTSUTF8 命令,取消勾选路径和文件名使用UTF-8 编码的复选框,确保文件名和扩展名使用英文名称,并确保PHP加密文件以二进制方式上传,避免中文名称导致乱码。

Linux系统访问FTP显示中文目录乱码

记得有一次,我在公司服务器上使用Linux系统处理项目数据。
那天,我需要从FTP服务器上下载一些文件,发现所有的中文文件夹名都变成了乱码。
看着“”两个字,我心里有些担心。
我尝试使用原来的ftp命令访问还是不行。
后来想出了一个以前学过的小技巧,就是用lftp代替ftp。
试了一下,果然有效,文件夹名称立马就清晰了。
但问题又来了。
每次访问都要手动设置加密,太麻烦了。
我想知道有没有办法自动设置?所以我尝试将“setencodinggbk”行添加到lftp配置文件中,保存并尝试。
果然每次访问都会自动用gbk加密,方便多了。
等等,还有一件事。
我想到如果FTP服务器上的加密设置不正确,这些方法可能不起作用。
因此,如果以后遇到类似的问题,首先要检查服务器端的配置。

访问 FTP 文件名乱码

嘿,我很清楚这一点。
两年前,我在帮助北京一家小工厂开发信息技术时,就遇到了这个陷阱。
他们想使用 Galaxy Kirin 作为桌面,并访问隔壁 Windows Server 上的 FTP 服务器。
结果文件名变成乱码,无法读取。

当时,我认为 8 0% 的讨论都是关于编码的。
后来我查了一下,确实如此。
在 Windows Server 2 008 R2 计算机上,FTP 服务可识别 GBK 编码,但不能识别 UTF8 但是在银河麒麟这边,默认是UTF8 ,这就直接冲突了。

想一想,如果你的文件名包含不常见的字符或字母和数字,将其转换为 GBK 或 UTF8 肯定会使显示混乱。
我记得当时的仓库管理系统在上传的文件名中包含了“物料”二字。
Windows端没有问题,但是Kylin端却不断出现乱码,把我老板气得直跺脚。

接下来发生了什么?有两种方法。
一是建议将旧的 Windows Server 升级到 2 01 2 R2 新版本的FTP服务支持UTF8 ,文件名现在可以正确显示。
然而,升级需要一些成本和停机时间。
我终于在Windows过期时升级并更换了新机器。

另一个选择是暂时使用第三方 FTP 客户端,例如 FileZilla。
支持编码切换。
您可以使用此工具连接到Kirin端,手动选择编码,并且它还可以理解文件名。
当时有一个小团队已经这样做了一段时间,但在新服务器推出后他们完全停止使用它。

所以这个问题的关键是编码不匹配。
Galaxy Kirin默认为UTF8 ,较旧的Windows FTP可识别GBK。
解决办法是升级Windows或者换成手动干预的客户端。
啊,现在想想,升级系统最简单的方法就是等待合适的时机。

国产化终端访问ftp乱码