在 Debian 上搭建 FTP 服务器(常见如 vsftpd、proftpd、pure-ftpd)时出现乱码,通常是字符编码不一致导致的,尤其是 Windows 客户端 + 中文文件名 最常见。
下面按「原因 → 解决思路 → 具体操作」来说明。
FTP 协议本身 没有统一编码标准:
让“服务器编码”和“客户端编码”保持一致
两种方式:
编辑配置文件:
sudo nano /etc/vsftpd.conf
添加或修改:
utf8_filesystem=YES
重启服务:
sudo systemctl restart vsftpd
✅ 适用于:
Windows 资源管理器 不支持 UTF-8 FTP
解决方式:
⚠️ vsftpd 本身无法自动 GBK 转换
sudo pure-ftpd -U 1
或 Debian 下:
sudo nano /etc/pure-ftpd/conf/Utf8
内容写:
yes
重启:
sudo systemctl restart pure-ftpd
编辑配置:
sudo nano /etc/proftpd/proftpd.conf
添加:
DefaultCharset UTF-8
重启:
sudo systemctl restart proftpd
设置:
站点管理 → 字符集 → 强制 UTF-8
或:
服务器不支持 UTF-8 时 → 使用自定义:GBK
如果是 挂载的磁盘(如 NTFS / FAT):
mount -o iocharset=utf8 /dev/sdb1 /mnt/data
或 /etc/fstab:
/dev/sdb1 /mnt/data vfat utf8,uid=1000 0 0
✅ 不要用 FTP 传中文文件 ✅ 改用:
这些天然 UTF-8,不乱码。
为了给你精确方案,请补充:
我可以直接给你一份可复制的配置。