启用系统级UTF-8支持是根本解法:Win+R→intl.cpl→管理→更改系统区域设置→勾选“Beta版:使用Unicode UTF-8提供全球语言支持”→重启生效;重启后需新建FTP连接(勿用历史记录),并确认FTP服务器已启用UTF-8支持。

Win11通过文件资源管理器直接映射FTP服务器(如ftp://192.168.1.100)后,所有中文文件名显示为“测试.txt”这类乱码,本质是Windows系统未将FTP路径名解析为UTF-8编码,而是按默认ANSI(GBK/GB2312)或ISO-8859-1错误解码所致。
启用系统级UTF-8支持(关键一步)
这一步必须最先执行,否则后续所有客户端设置都无效。Windows 11的FTP文件系统访问模块依赖系统全局代码页策略,不启用UTF-8底层支持,FTP路径名根本不会走UTF-8解析流程。
按 Win + R → 输入 intl.cpl → 回车 → 切换到“管理”选项卡 → 点击“更改系统区域设置” → 勾选【Beta版:使用 Unicode UTF-8 提供全球语言支持】 → 点击“确定” → 重启电脑。
⚠️ 注意:勾选后必须重启,仅注销无效;若之前已勾选过但未重启,此次操作仍需重启才生效。
在文件资源管理器中刷新FTP连接
重启完成后,不要直接双击旧的FTP快捷方式或地址栏历史记录。
打开文件资源管理器 → 地址栏输入 ftp://你的服务器地址(例如 ftp://192.168.1.100)→ 回车 → 输入用户名和密码登录。
此时中文文件名应正常显示。如果仍乱码,请确认FTP服务器本身已启用UTF-8支持(如 vsftpd 配置含 utf8_filesystem=YES,FileZilla Server 已在 Settings → FTP → UTF-8 enabled 打钩)。
备用方案:用PowerShell强制UTF-8挂载(无需重启)
适用于无法立即重启、或需临时验证的场景。此方法绕过资源管理器的缓存机制,直连并声明编码。
以管理员身份运行 PowerShell → 执行:
cmd /c "chcp 65001 >nul && explorer ftp://用户名:密码@服务器地址"
这条命令先将当前CMD会话代码页切换为UTF-8(65001),再调用explorer启动FTP连接,可规避部分系统缓存导致的编码残留问题。
注意:密码中若含特殊字符(如 @ / :),需进行URL编码,例如 @ 要写成 %40,/ 写成 %2F。

















