如果文件名是中文的话,报200、227、501错误,就检查服务器设置的OPTS,UTF8,是否为“禁用命令”。全局属性第三个是否关闭。
ftp上传文件时,必须使用英文字符或数据的文件名才能上传,或者是两个字的汉字才能上传到服务器的话:
1、进入ServerU管理端界面,点击“服务器限制和设置”分类功能按钮,
2、在ServerU服务器限制和设置界面,选择“FTP设置”页签,点击窗口下面的“全局设置”按钮。
3、在打开的“FTP命令属性”界面,去掉最后一行的勾选,即不要勾选”对所有已收发的路径和文件名使用UTF-8编码“。
4、选择“FTP设置”页签,禁用”OPTS UTF8 “,
完成上面的两处改变后,无法上传中文名称的文件的问题应该已经解决了。
用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在接收客户端发送的文件名的处理上的问题。 Serv-U 7.0也同样适用。
|