FTP中NLST命令显示中文乱码解决办法

[复制链接]
查看11 | 回复2 | 2008-6-3 22:42:12 | 显示全部楼层 |阅读模式
本人做了个FTP文件下载的小程序,过程中遇到了这样一个问题,就是在获取文件列表的时候遇到中文则会显示乱码,所以想请教各位高手帮忙解决一下。
问题出在这里
SendCommand("NLST " & sMask) ‘向服务器发送命令
If (Not (m_iRetValue = 150 Or m_iRetValue = 125)) Then
MessageString = m_sReply
Throw New IOException(m_sReply.Substring(4))
End If
m_sMes = ""
Do While (True)
Array.Clear(m_aBuffer, 0, m_aBuffer.Length)
bytes = cSocket.Receive(m_aBuffer, m_aBuffer.Length, 0)
m_sMes += Encoding.GetEncoding("gb2312").GetString(m_aBuffer, 0, bytes))
If (bytes < m_aBuffer.Length) Then
Exit Do
End If
Loop
如果遇到英文文件夹则没有问题,如果遇到中文文件夹则会显示乱码,请教各位该如何解决
回复

使用道具 举报

千问 | 2008-6-3 22:42:12 | 显示全部楼层









回复

使用道具 举报

千问 | 2008-6-3 22:42:12 | 显示全部楼层
看看Encoding.GetEncoding("gb2312").GetString(m_aBuffer, 0, bytes)) 里面的gb2312和服务器的字符集是否相同
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行