各位老大好,    我用FtpGetFile之类的windows FTP API去UTF8编码的FTP站点下东西不行,我觉得原因是FtpGetFile内部会对传入的lpszRemoteFile有CT2A(lpszRemoteFile, CP_ACP)之类的转化.
    
    我试了种权宜之计,将一个utf8的串先CA2W(lpszRemoteFile, CP_ACP)弄成宽字符,将此宽字符传给FtpGetFileW,期望通过该函数内部的
CW2A(lpszRemoteFile, CP_ACP)操作,使传输在网线上的数据是一个utf8的串,这样服务器就刚好认识了。
    表面上看这种思路没问题吧?可是,想当然始终是想当然啊,实际情况是将一个utf8按CP_ACP方式弄成宽字符再CP_ACP弄回来,他就不一定等价了。    我想FtpGetFileA是不是将传入的szFileName直接送网络上去呢,我就传给FtpGetFileA一个实际上是utf8的串,但结果很沮丧。我用嗅探器截获的数据显示,FtpGetFileA和FtpGetFileW实际在网络上跑的数据都一样的,反正不是正确的UTF8编码。    所以问题的关键是FtpGetFile内部的CT2A(lpszRemoteFile, CP_ACP)如果能变成CT2A(lpszRemoteFile, CP_UTF8)就万事大吉了,但不知道windows
提没提供这样的接口,貌似InternetSetOption函数没这功能。    郁闷,各位大大们遇到相似情况没,能否给点意见啊,是不是只有在socket层次上才根治这个问题呢,谢谢。