出现不支持ascii码的情况会出现中文乱码,这个是实际的字符故障,但实际应用中还存在其他相关的原因:
1、实际连接错误的原因是ftp主/被动模式选择错误,在ftp客户端调整站点连接设置为被动连接模式即可。
2、防火墙端口限制,关闭防火墙临时检查使用即可。
3、FTP软件使用的设置有问题,传输模式选择二进制尝试传输即可。
扩展资料:
FTP的传输有两种方式:ASCII、二进制。
1、ASCII传输方式假定用户正在拷贝的文件包含的简单ASCII码文本,如果在远程机器上运行的不是UNIX,当文件传输时ftp通常会自动地调整文件的内容。
2、二进制传输模式
在二进制传输中,保存文件的位序,以便原始和拷贝的是逐位一一对应的。
参考资料来源:百度百科-FTP协议
ftp上传文件时,必须使用英文字符或数据的文件名才能上传,或者是两个字的汉字才能上传到服务器的话:1、进入ServerU管理端界面,点击“服务器限制和设置”分类功能按钮,
2、在ServerU服务器限制和设置界面,选择“FTP设置”页签,点击窗口下面的“全局设置”按钮。
3、在打开的“FTP命令属性”界面,去掉最后一行的勾选,即不要勾选”对所有已收发的路径和文件名使用UTF-8编码“。
4、选择“FTP设置”页签,禁用”OPTS UTF8 “,
完成上面的两处改变后,无法上传中文名称的文件的问题应该已经解决了。
直接用StreamReader reader=new StreamReader(response.GetResponseStream(), Encoding.Default)
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)