在 CentOS 上搭建 FTP 服务器(如 vsftpd) 时,出现乱码通常是因为 字符编码不一致(客户端用 GBK,服务器用 UTF-8,或反之)。下面按常见场景给你解决方案。
编辑配置文件:
vi /etc/vsftpd/vsftpd.conf
添加或修改以下内容:
utf8_filesystem=YES
重启服务:
systemctl restart vsftpd
✅ 适合 Linux / macOS / FileZilla(UTF-8)
Windows 自带 FTP 客户端 只支持 GBK,vsftpd 强制 UTF-8 会乱码。
export LANG=zh_CN.GBK
并修改 vsftpd 使用系统编码(较复杂,且影响其他服务)
GBKpure-ftpd -U 1 # 开启 UTF-8
或在配置中:
Umask 133
UTF8
查看当前编码:
locale
建议服务器保持:
LANG=en_US.UTF-8
| 现象 | 原因 |
|---|---|
中文文件名变成 ???? |
客户端不支持 UTF-8 |
中文变 %E4%B8%AD |
URL 编码问题 |
| Windows 资源管理器乱码 | GBK 问题 |
你可以告诉我:
我可以直接给你精准配置。