http://lioncn.blog.51cto.com/1557898/432835
服务器端字符集和客户端字符集不匹配。
服务器端一般采用Linux系统,而Linux系统默认采用通行全球的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解释自然就出现乱码了