网站建议:179001057@qq.com

Serv-U中文文件名或路径 无法上传与下载的解决办法

技术2022-05-11  1

在默认情况下,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在接收客户端发送的文件名的处理上的问题。

 

   在delphi下用indy控件 做了一个ftp上传工具,在上传文件时如果全路径中无中文的话就可以正常上传,于是就想到可能是ftp的设置有些问题,于是在网上查到上述的解决方案,FTP经上述设置过后,就可以正常上传含有中文路径的文件了。


最新回复(0)