引用第5楼biosxjj于2010-12-08 11:03发表的 :
全部用了 都是乱码 utf8, utf16-be, utf16-le,utf32-be, utf32-le
哇哈哈哈哈
为什么用windows 自己ftp 登陆 显示中文正常呢

随便说几句:
1. 从你最后一句话,基本可以确定 服务器编码是 GBK
2. 你要知道,ftp 在编码问题上相当笨,笨到对编码一无所知。所以编码问题需要你自己解决
3. 你要知道,QFtp 遇到这么笨的 ftp 也很无奈,尽管 cd() get() 等等的参数都是QString ,你必须清楚知道,他们其实都是 latin1 。(所有字符都被作为latin1来处理)
4. 不管你的服务器编码是什么,整个过程中都是作为latin1来处理的(这样可以保证信息不会丢失,同样的方法,在早期的数据库中也被采用)
题外:
如果你对编码有一定了解的话,现在你应该知道怎么做了。 ^_^
1. 对于字节流, "\x..\x..\x..\x..",采用latin1进行变换,不会丢失信息。在QFtp中,你需要先获得这种字节流(QString::toLatin1())
2. 然后根据服务端的编码 (比如GBK) 进行编解码就可以了。