你的位置: Kiyo'Space首页 服务器 阅读文章 欢迎留下您的足迹

Serv-U 7.0中文文件名无法上传与下载的解决

[ 服务器 ] 分享

因为协作校译的需要,临时架设了用Serv-U架了一个FTP服务器,开始配置时,发现有时在使用FTP客户端工具时会出现中文目录与文件名无法正常显 示,也无法上传、下载的现象。经摸索,发现这是因为Serv-U7默认采用UTF-8编码文件路径,而一些FTP客户端(如LeapFTP)默认不采用这 一编码方式。

在默认情况下,Serv-U开放了一个名为OPTS UTF8的命令,可以在客户端(命令行或是客户端工具的命令发送菜单,如LeapFTP)发送“OPTS UTF8 OFF”在当前会话中关闭UTF-8编码(如果要重新启用,则用opts utf8 on)

不过更直接的方法还是在Serv-U中取消采用UTF-8编码格式,方法如下:

1、登录Serv-U管理控制台,选择“限制和设置”中的“为域配置高级FTP命令设计和行为”。
 

2、在弹出页面的“FTP设置”选项卡中单击下边的“全局属性”按钮;
 

3、在“FTP命令属性”对话框的“高级选项”选项卡中,取消“对所有已收发的路径和文件名使用UTF-8编码”前的选项框,确定。

不过有还有两点需要补充一下:

第一、IE浏览器在默认设置下也采用UTF-8编码来收发URL,所以如果在客户端软件无法解析的时候,可以使用IE来临时使用FTP服务,当然,IE的FTP文件管理能力并不太强,如果经常使用,还是建议安装一个客户端;

第二、按本文配置之后,显示、下载与上传一般的以中文命名的文件已经没有问题。但是发现一些以中文命名且文件名非常长的文件,在上传时依然会出错(但如果 已经在服务器上,下载是没有问题的),经查阅服务器的LOG,我觉得这是Serv-U在接收客户端发送的文件名的处理上的问题。

创建服务:
sc create Serv-U start= auto binPath="path\Serv-U.exe -service"

没有评论

  • (Required)
  • (Required, will not be published)