一台centos的vps上,从其他vps用scp方式传输过来的文件名出现乱码。
进一步研究,发现如下问题:
1、win下用leapftp上传中文名文件,在linux下用filezilla和终端显示均为乱码;
2、无论在用win版还是linux版filezilla上传文件,或者终端建立的中文名文件,在linux终端显示均正常,而在leapftp中则显示为乱码。
原因分析:
这是由于windows的gb2312与linux默认的utf-8编码不同造成的。用leapftp上传文件时,文件名默认使用windows下的编码,上传到linux服务器上自然出问题。而filezilla可以自动检测服务器编码,上传文件时自动转换了编码。
解决办法:
如果使用linux服务器,在windows下使用filezilla来上传文件。
另:虽然leapftp现在也支持ssh的22端口,但毕竟做的还不到位,编码问题没有考虑周全。