C# 写ftp上传文件,中文名称乱码

lih163 2010-07-22 04:43:56
C# 用FtpWebRequest写的文件上传,上传到服务器后,中文文件名是乱码,ftp服务器是linux
...全文
1367 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jinziyatoo 2011-10-28
  • 打赏
  • 举报
回复
我也遇到这个问题了,头疼。是不是在上传之前改成utf-8编码可以解决呢。。
happy664618843 2011-01-13
  • 打赏
  • 举报
回复
恩 都说了 上传url编码下 下载解码下! urlEncode
a785126172 2011-01-12
  • 打赏
  • 举报
回复
帮顶 学习
csndcsnd01232 2011-01-12
  • 打赏
  • 举报
回复
windows下使用Encoding.Default.GetBytes((str).ToCharArray());
可以的
捷哥1999 2010-08-02
  • 打赏
  • 举报
回复
同样的方法,你试过在windows下上次能ok吗?如果可以,应该要检查你的linux ftp服务器的设置了。
NDDavid 2010-08-02
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 porschev 的回复:]
先加密。。后解密。。。
[/Quote]
UP
porschev 2010-08-02
  • 打赏
  • 举报
回复
先加密。。后解密。。。
段传涛 2010-08-02
  • 打赏
  • 举报
回复
解 Server.UrlDecode
PalmerWang 2010-08-02
  • 打赏
  • 举报
回复

filename(文件名称)=" + HttpUtility.UrlEncode("中文名称", System.Text.Encoding.UTF8).ToString()

这样是否可以
sire168 2010-08-02
  • 打赏
  • 举报
回复
编码问题!帮楼主顶了,希望你早日解决!
段传涛 2010-08-02
  • 打赏
  • 举报
回复
乱码 可能是统一字符的问题。
我的方法是把名字和路径 加密(转换 ) 再解密 转换回来。
Server.UrlEncode( usname);
  • 打赏
  • 举报
回复
你先查查看那个服务器是否支持utf-8等编码。传统的FTP 协议用的都是ASCII编码的。

再有一个办法就是先学习下别人的实现 - 如filezilla的服务器、客户端,拿wireshark抓取FTP的包看看文件名是什么编码的
mayonglong 2010-07-28
  • 打赏
  • 举报
回复
应该是编码问题,顶个~
pele007 2010-07-28
  • 打赏
  • 举报
回复
呵呵,这个问题曾经也困扰我好久哇。因为FTP协议本身不支持中文的编码所以成乱码了,还是要求用户输入英文之类的吧
zhubo006 2010-07-27
  • 打赏
  • 举报
回复
xiaowx2000 2010-07-27
  • 打赏
  • 举报
回复
两边的编码问题?楼主是否编码使用的是default。这样就有可能造成两边编码不一致出现乱码
loveSoftandhxy 2010-07-23
  • 打赏
  • 举报
回复
看看上传程序中的文件名是否有问题。

编码问题是的了。
nk_maquan 2010-07-22
  • 打赏
  • 举报
回复
编码问题吧
guyehanxinlei 2010-07-22
  • 打赏
  • 举报
回复
那就最好使用英文名称吧

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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