FTP服务恐怕是中小企业使用最多的网络服务之一了,随着FTP建立技术飞速发展,很多网络管理员也开始通过Gene ftp建立工具来开启FTP服务,用该软件替代了传统的SERV-U,毕竟Gene ftp在功能上更加强大,支持更加灵活的脚本应用。不过在使用Gene ftp建立FTP服务过程中很多用户都遇到了资源访问不支持中文的问题,这个烦恼一直困扰着我们,最近笔者也遇到了此问题,通过长时间的研究终于发现了故障根源所在,今天笔者就为各位的读者介绍如何解决Gene FTP服务不支持中文目录的故障。
一,故障症状:
笔者通过Gene 6 ftp建立工具搭建了一个FTP服务器,客户端登录程序采用的是Flashfxp,结果在登录时发现访问英文字母命名的目录没有任何问题,而一旦该目录名称是中文的话,在访问时会出现有的时候正常,大多数时登录进目录后不会有任何显示。
二,故障分析:
既然知道了故障现象,那么我们就可以从现象进行分析,既然英文字母命名的目录可以访问,这就说明FTP服务开启没有问题,网络连接也是畅通的。中文不能显示很可能是因为编码的问题。所以问题就转变为开启FTP服务端的UTF-8编码了。
三,初步排查:
确定了编码问题后笔者查询了Gene 6的帮助手册,发现里面提到了Gene 6是支持UTF-8编码的,既然服务端支持UTF-8编码,那么上述问题就应该出自客户端flashfxp上。于是笔者更换了FTP登录工具,选择FtpRush工具进行连接,结果一切顺利,不管是中文还是英文目录都可以正常访问。看来问题是出在flashfxp不支持UTF-8编码上。
四,继续排查:
笔者决定通过日志记录信息来查看flashfxp登录信息,选择“G6控制台->FTP Server->Logs & reports->Main log”,我们看到了有一行记录为“2008-09-16 7:56:10 PM Language : Chinese (PRC)”。看来问题就是出自于此。(如图1)
Gene 6应该是支持自动UTF8传输的,而ftprush也是支持UTF8,在client连上去后CLINT客户端会发送ftp client信息,G6认为支持UTF8就会启用UTF8传输,这样列表和访问对应目录就与系统字符集无关也与client的os无关了。但是Flashfxp则不支持UTF-8编码,用其连接到FTP服务器后Gene 6将不按照FTP客户端设置而直接通过操作系统的编码进行设置。如果这时你的操作系统语言编码是英文,那么必然会出现上述无法访问中文目录的问题。