admin管理员组

文章数量:1530847

2023年12月28日发(作者:)

一、flashfxp

菜单栏“站点管理器”,选中一个站点,右边“高级”标签,“字符编码”

应选择为与服务器端一致的字符集,如服务器端为UTF8,客户端也应该为UTF8。

一般而言,WINDOWS上得FTP客户端默认为GBK

二、Serv-U,FtpZilla,等

一般而言,原因是:服务器端字符集 和 客户端字符集不匹配。

如果要想FTP支持四字节,则,FTP服务器端和客户端字符集必须一致,最好统一为UNICODE/UTF8等。

FTP服务器端一般采用Linux系统,而Linux系统默认采用通行全球的UTF8字符集,

而向来喜欢自搞一套的天朝强力推行国家标准GBK,规定在天朝范围内销售的OS必须将GBK作为默认的字符集,作为客户端主流OS的Windows中文版被迫将GBK作为默认字符集,而其它非英语语种的Windows一般将UTF8视作默认字符集。

客户端将服务器端提供的UTF8字符集当作GBK解释自然就出现乱码或无法解读了。

FTP服务器端 UTF UTF GBK GBK

FTP客户端

乱码

UTF GBK UTF GBK

否 是 是 否

上表是一般规律。

理论上,如果客户端能够自动识别服务器端代码页而且正确无误的化,自然不会出现乱码的现象。

FTP是基于Telnet(RFC 854)发展而来的,最早的RFC 959根本没有提及国际化,只支持7位的ASCII,直到1999年才有RFC 2640提及此问题,之后,逐渐开始有服务器端支持UTF(最早是2002年),而客户端的UTF支持则更晚。

时至今日,相当多的客户端不能正确识别服务器端传回的UTF字符集,出现乱码也就是必然了。

FTPZilla server基于UTF字符集,而LeapFTP、8UFTP客户端将服务器端传回的UTF8字符集当作Windows默认的GBK解释。解决方法:

对乱码的客户端,直接向服务器端发送原始的FTP命令:opts utf8 off

关闭服务器端的UTF翻译,将Windows的GBK编码原样传回至客户端,即可解决此问题。

命令执行效果如下:

在执行“opts utf8 off”命令前应该执行“feat”命令测试下服务器端是否支持UTF8扩展。

三、Cuteftp不支持UTF-8,可以用自定义命令解决“cuteftp不支持UTF-8,可以用自定义命令解决。

Tools---Cutsom Commands---Edit Custom Commands---Add

增加两个命令 opts utf8 on 和 opts utf8 off,然后View---Toolbars---Custom Command

Bar

每次登陆之后手工OFF一次再刷新就可以取消UTF-8了。”

本文标签: 服务器端字符集客户端命令默认