首页 > 解决方案 > Chilkat FTP2 主机名中的日文字符

问题描述

我浏览了 Chilkat 的论坛,在那里我看到该论坛已关闭,我应该在 SO 上发布相关问题。

我正在尝试使用 chilkat 的 FTP2 连接到 FTP 服务器,但它无法使用有效凭据连接到有效的 ftp 服务器。

主机名确实包含日文字符“w10jpnツ新”。

我的代码如下所示:

 Ftp2 objFtp = new Ftp2();
 const string ChilkatFTPKey = ValidChilKatFTPKey;

 bool success = objFtp.UnlockComponent(ChilkatFTPKey);

 if (!success)
 {
     return;
 }

 objFtp.Hostname = _ftpServer;
 Log.Write("Host Name Input: " + _ftpServer); //here I see "w10jpnツ新"
 Log.Write("Host Name: " + objFtp.Hostname); //here I see "w10jpnツ新"

正如您所看到的,即使将正确的主机名设置为objFtp.Hostname,该属性也具有垃圾值,因此连接尝试失败。

如何解决?

更新

最初这个问题是写给 Chilkat 技术人员的,但现在他们没有回复,我添加了一般标签,以便希望的普通人可以接触到,如果他们知道这个问题背后的可能原因是什么。

我能想到的一件事是,Hostname如果他们在属性的设置器中将日文字符转换为不需要的东西。但他们为什么要这么做。

标签: c#stringunicodeftpchilkat

解决方案


我看到了问题——Chilkat 假设主机名由 Latin1(us-ascii + 重音欧洲字符)组成。我会进行修复,我可以提供一个预发布版本。您使用哪个版本的 .NET Framework,以及哪个版本的 Visual Studio?


推荐阅读