FTP服务恐怕是中小企业使用最多的网络服务之一了,随着FTP建立技术飞速发展,很多网络管理员也开始通过Gene ftp建立工具来开启FTP服务,用该软件替代了传统的SERV-U,毕竟Gene ftp在功能上更加强大,支持更加灵活的脚本应用。不过在使用Gene ftp建立FTP服务过程中很多用户都遇到了资源访问不支持中文的问题,这个烦恼一直困扰着我们,最近笔者也遇到了此问题,通过长时间的研究终于发现了故障根源所在,今天笔者就为各位IT168网络频道的读者介绍如何解决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客户端设置而直接通过操作系统的编码进行设置。如果这时你的操作系统语言编码是英文,那么必然会出现上述无法访问中文目录的问题。
五、解决问题:
了解了故障的根源后我们可以通过以下两种方法解决。
(1)设置系统语言字符集为China (PRC),重启后就可以解决中文目录访问问题。(如图2)
(2)设置一个系统账号使用语言为China(PRC),然后去服务管理那里,设置G6 service Logon account使用这个账号而不是local system account。
小提示:
如果通过上面的设置依然无法解决问题,我们还要继续修改语言设置,把所有的区域设置,不光是non-unicode设置,还有地区、数字格式等等全部改成中国即可。
六、总结:
数据通讯的智能化往往可以给我们带来很多便利,用户不需要进行烦琐的设置就可以轻松实现很多功能,不过有时候这种所谓的智能化还会为我们的应用帮倒忙,本文的故障就是一个典型的例子,正因为FTP服务端与客户端这种智能协商传输语言的特点,造成了不支持utf-8编码的flashfxp客户端工具无法顺利访问FTP服务器上的中文目录。因此日后我们这些普通网络管理员遇到无法解释的难题时可以从这种智能化错误入手解决故障。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国