• 4841阅读
  • 2回复

[提问]QFtp下载中文路径文件 [复制链接]

上一主题 下一主题
离线lxxxzxx
 

只看楼主 倒序阅读 楼主  发表于: 2012-09-14
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2013-04-01) —
我用的FileZilla做为Ftp的服务端,使用QFtp的demo连接后,中文文件显示的全是乱码,无法下载文件夹也打不开,怎么办啊.....系统为Windows XP。初学Qt,求大神指点
离线XChinux

只看该作者 1楼 发表于: 2012-09-14
那看它真正的编码是什么?GBK?可能你需要到QFtp底层去修改socket接收、发送数据的字符集转换。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线lxxxzxx

只看该作者 2楼 发表于: 2012-09-27
回 1楼(XChinux) 的帖子
感谢版主~问题已经解决了,这几天忙的没上论坛,正好今天把解决方法贴一下。
FileZilla的编码格式是UTF_8,QFtp的编码格式只有Latin1,所以使用QFtp从FileZilla服务端下载文件或上传文件时,要将地址进行转码。
我使用的方法是:QString code//下载文件的路径
QString codeInServer = QString::fromLatin1(code.toUtf8());
这样服务端就可以识别codeInServer的编码,也可以下载中文文件了。
http://www.oschina.net/question/234345_52605
这个网址的那张表我认为解释的很清楚,有兴趣的可以看看。

再次感谢版主~
快速回复
限100 字节
 
上一个 下一个