以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  ftp服务器乱码问题?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=162233)

--  作者:happyft
--  发布时间:2021/4/9 16:44:00
--  ftp服务器乱码问题?

图片点击可在新窗口打开查看此主题相关图片如下:ftp乱码问题.jpg
图片点击可在新窗口打开查看


如上图,如果是windows的IIS中搭建的ftp站点,必须设置UTF-8为true,否则中文显示乱码;
此时如果在ft的代码中也再设置UTF-8的话,也会显示为乱码
 DataTables(dtname).DataCols("产品附件").ExtendType = ExtendTypeEnum.Files \'多文件列
 DataTables(dtname).DataCols("产品附件").Remote = True
 DataTables(dtname).DataCols("产品附件").FTPClient.Host = ftp_Host
 DataTables(dtname).DataCols("产品附件").FTPClient.Account = ftp_User
 DataTables(dtname).DataCols("产品附件").FTPClient.password = ftp_Pwd
 DataTables(dtname).DataCols("产品附件").FTPClient.port = ftp_Port  \'ftp端口不是21时必须指定
 DataTables(dtname).DataCols("产品附件").FTPClient.UTF8 = True \'如果用这句就会显示乱码,不用就正常显示

但现在问题是,客户的ftp服务器有的是自己搭建的,有的是用如serv-U这样的软件搭建的,如果用后者,ft代码不加红色那句就会显示乱码
如是用windows IIS搭建的,加上红色的又会显示乱码,有什么方法避免ft的代码不变就能适应这种情况

谢谢!



--  作者:有点蓝
--  发布时间:2021/4/9 16:51:00
--  
这个没有办法。只能是根据服务端来设置客户端。FTP服务端不都是固定的吗,难道今天使用IIS搭建的,明天使用serv-U?何况serv-U也可以设置编码的呀
[此贴子已经被作者于2021/4/9 16:51:09编辑过]

--  作者:HappyFt
--  发布时间:2021/4/9 17:17:00
--  
同一个项目给不同的客户使用,客户的服务器上的ftp设置有时是别人决定的;因为serv-U中是否开启UTF8都不影响ft中的代码,但windows IIS中就会影响,
好吧,这个也不是很重要,只是问一下而已,谢谢!


--  作者:有点蓝
--  发布时间:2021/4/9 17:20:00
--  
数据库建一个配置表,存储不同客户的配置,查表判断用户使用的是什么类型的ftp服务端或者编码,然后使用代码动态设置ftp客户端的编码