该情况一般出现在vista/win7/Win8系统上,之前在xp上没发现这种情况。

总的来说,不论是打开FTP出现乱码或者显示“读取目录列表失败”均是由字符集引起的。咱们的windows系统默认是采用的GBK码(仅支持中文字符及拉丁字符),而FTP服务器,为了更好的字符兼容性而采用UTF8码(在港台地区甚至有个名字叫“万国码”),以显示所


有可能的语言文字。

但是在GBK码和UTF8码中,同一个字的表示方式并不相同,这样就导致了在UTF8码下正常的文字到了GBK码下就显示不正常(有可能显示为乱码或其它字符)

为了解决这个问题,需要为FTP客户端指定一个字符集(编码方式),目前仅发现Filezilla具备该功能,这也是为什么指定使用Filezilla作为客户端的原因(而且这个软件是开源软件,最实惠的好处就是免费)。

解决乱码的办法如下:

点击菜单中的“文件”–>“站点管理器”,在打开的新窗口中点击左下方的“新建(New Site)”按钮,在左上的列表中出现的“新站点(New Site)”中把名字改为FTP(或者其它别的都行),然后在右边的“主机(Host)”中填入 ftp.nacta.edu.cn,其它保持默认


就行;点击右边最后一个选项卡“字符集(CharSet)”,然后选择“强制UTF8(Force UTF8)”。

设置完后直接点connect就可以连接上FTP服务器了,而且以后都不用再输入地址,只需要点工具栏里第一个图标旁边的向下小箭头,选择刚才新建的那个配置就可以连接了。

目前发现只有在vista/win7/win8下需要这样设置,在xp中这样设置好像反而会出错(微软做的东西简直太郁闷了。。。不论是Mac还是Linux都没有这样的情况出现)



命令:        PASV
默认是pasv模式,因为服务端防火墙的设置,客户端不能用pasv模式,将设置中的pasv模

式置为空,就正常了
返回:        227 Entering Passive Mode (58,X,X,X,0,1)
在ftp服务软件中设置指定端口地址范围,允许Passive Mode使用,比如60000-60020


解决办法:
在传输设置中:
修改传输模式为: 主动传输