用IDFTP上传中文文件名为问号的问题

k39k39 2016-09-05 02:52:59
环境XE6。
用IDFTP.put上传中文名文件。
因为FTP不支持UTF8,上传的文件名显示为问号。
将文件名转码GBK,但结果仍然是问号
后来注意到idftp.put的函数定义如下:
procedure Put(const ASource: TStream; const ADestFile: string;
const AAppend: Boolean = False; const AStartPos: TIdStreamSize = -1); overload;
procedure Put(const ASourceFile: string; const ADestFile: string = '';
const AAppend: Boolean = False; const AStartPos: TIdStreamSize = -1); overload;

文件名参数 ADestFile 是string,unicode字符串,所以在前面把文件名转码也没用。

请教该怎么解决。
...全文
931 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
k39k39 2016-09-05
  • 打赏
  • 举报
回复
设置了 ftp.IOHandler.DefStringEncoding:=IndyTextEncoding_ASCII; 也没效果
k39k39 2016-09-05
  • 打赏
  • 举报
回复
试过了 ,idftp.put的参数是 string类型,转为WIDESTRING没有用处
lyhoo163 2016-09-05
  • 打赏
  • 举报
回复
要用WideString;

5,928

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧