困扰很久了,windows主机通过FTP上传文件到linux,文件扩展名乱码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了困扰很久了,windows主机通过FTP上传文件到linux,文件扩展名乱码相关的知识,希望对你有一定的参考价值。

首先,我的linux的发现版是centos6.2,采用了VSFTP2.1,
i18n文件如下
LANG="zh_CN.GBK"
SUPPORTED="zh.CN.GBK:zh_CN:zh"
SYSPONT="latarcyrheb-sun16"

这是我从网上摸索出来的一些内容,知道了windows的字符集编码是GBK的本地编码,因此将linux段设置成GBK

现在linux主机显示中文正常,通过SSH终端显示中文也正常

唯独,通过FTP上传的文件,有的完全正常,有的会出现文件名的最后几个字符与扩展名的“.”一起变成乱码,在linux主机端,SSH中用ls -l查看,以及windows端在FTP里查看,下载回本地,都是这样

如下图所示
客户端只会使用Windows中的资源管理器访问,因为用户都没什么电脑使用尝试,复杂了没法接受

参考技术A 很正常的事,linux和windows的编码是不一样的,linux不支持汉字,虽说你自己的电脑支持,但是FTP上的大型机不支持,跟你电脑不是一回事本回答被提问者和网友采纳 参考技术B 还是文件格式不正确,windows和LINUX还是有差别的,你可以试试这个命令,dos2unix 后面加上你要转换的文件 。 参考技术C linux支持汉字的。这是编码转换问题。 参考技术D 建议你用UTF-8 + FileZilla 这样没问题 亲测 第5个回答  2012-04-17 你可以检查下文件的格式如果你把这个文档存为03的word看看是否还会存在这个问题。

通过 c# 将文件上传到虚拟主机(godaddy)

【中文标题】通过 c# 将文件上传到虚拟主机(godaddy)【英文标题】:Uploading files to a web hosting (godaddy) through c # 【发布时间】:2022-01-20 14:00:06 【问题描述】:

我是来向你寻求帮助的。

我需要我的 c# 应用程序可以将文件上传到我的网站中由 godaddy 托管的文件夹中。

现在我正在使用 FtpWebRequest 来执行此操作,但我需要设置 ftp 凭据,这意味着每个人都可以看到 FTP 帐户和密码...

我需要的另一个功能也是如此,我需要从网络服务器下载文件,但 URL 是可见的!我正在使用 WebClient.OpenRead 方法来执行此操作。

希望有人可以帮助我。

谢谢。

【问题讨论】:

你的意思是其他人可以在源代码中看到它?那么您可能必须将凭据存储在数据库中。 我的意思是,通过使用像wireshark这样的应用程序,你可以看到带有用户名和密码的FTP请求。 请澄清您的具体问题或提供更多详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。 【参考方案1】:

Microsoft 不推荐 FtpWebRequest(参见-> https://docs.microsoft.com/en-us/dotnet/api/system.net.ftpwebrequest?view=net-6.0)。 他们推荐替代品(在此处阅读:https://github.com/dotnet/platform-compat/blob/master/docs/DE0003.md) -> 对于 FtpWebRequest:使用第三方 FTP 客户端(例如,来自此列表)。 FluentFTP 似乎有 FTPS 客户端(请参阅:https://github.com/robinrodricks/FluentFTP)

好像有人已经回答了这个问题。再次,看到这个答案-> Free FTP Library

【讨论】:

以上是关于困扰很久了,windows主机通过FTP上传文件到linux,文件扩展名乱码的主要内容,如果未能解决你的问题,请参考以下文章

关于jsp文件到底放在哪个文件夹下的问题,困扰很久了,求教啊啊啊。。

汇编语言中的加减法~~~~~~~~~困扰我很久了。。有高人吗

Chemdraw中两条键连不到一块儿,为嘛??困扰很久了,能给解决定报以重金!

centos7装wine的时候configure缺少32位支持库,怎么解决,困扰很久了

Windows通过FTP上传下载文件到Linux

build.xml打包时报错, 软件包 oracle.jdbc 不存在,请各位大虾帮忙解决下啊,已经困扰很久了。。