Unicode在FTP传输后变成ANSI

Unicode在FTP传输后变成ANSI,unicode,ftp,transition,ansi,Unicode,Ftp,Transition,Ansi,我有一堆unicode(UTF-16LE)xml文件,我想通过一个旧的vb6 ftp组件传输,但是当我通过那里发送它们时,它们会在ftp服务器端(win2k3服务器)转换为ANSI 当我尝试使用windows终端ftp客户端发送它时,无论我使用二进制还是ascii传输模式,它都可以正常工作。文件保持unicode格式。可能的原因是什么 编辑:可能与此无关,但我注意到通过旧电子邮件组件发送文件也会对unicode文件执行此操作。答案已在此处确定 旧的VB6组件是否区分文本模式和二进制模式?如果是这

我有一堆unicode(UTF-16LE)xml文件,我想通过一个旧的vb6 ftp组件传输,但是当我通过那里发送它们时,它们会在ftp服务器端(win2k3服务器)转换为ANSI

当我尝试使用windows终端ftp客户端发送它时,无论我使用二进制还是ascii传输模式,它都可以正常工作。文件保持unicode格式。可能的原因是什么


编辑:可能与此无关,但我注意到通过旧电子邮件组件发送文件也会对unicode文件执行此操作。

答案已在此处确定

旧的VB6组件是否区分文本模式和二进制模式?如果是这样的话,它应该切换到二进制模式。事实并非如此,所有的东西都是硬编码来做二进制的。但是,我尝试使用ascii模式通过windows终端ftp客户端传输文件,这对编码本身没有任何影响。@cc0:那么最可能的答案是您的古老组件被破坏了,并进行了一些不必要的二进制到文本转换,破坏了您的用例。您在VB中将文件视为文本吗?据我记忆所及,VB6在内部使用Unicode,但在几乎所有地方都使用ANSI函数,所以除了所有字符串的大小都是Unicode的两倍外,你什么也得不到。@Joey-谢谢,我想你可能有什么发现。我将再次深入研究来源,看看我能理解它的意义。