查看完整版本: [--
QFTP获取中文目录乱码
--]
QTCN开发网
->
Qt中文处理
->
QFTP获取中文目录乱码
[打印本页]
登录
->
注册
->
回复主题
->
发表主题
clay_child
2019-05-08 14:51
QFTP获取中文目录乱码
使用环境 MSVC2015+Qt5.10 和MSVC2015静态编译+Qt5.10
问题:
连接服务器之后,关联list消息,connect(m_ftp, SIGNAL(listInfo(const QUrlInfo&)), this, SLOT(Slot_ListInfo(const QUrlInfo&)));
在槽函数Slot_ListInfo(const QUrlInfo& info),使用QString name=QString::fromlocal8bit(info.name().toLatin1())处理,
在MSVC2015里可以正常获取中文目。但是当我将MSVC2015换成 制作的静态编译版本后,同样的代码中文却出现了乱码。
经过仔细分析,使用QString name=info.name()直接获取从qftp服务器获取的中文字符,在MSVC2015得得到的字符等价于 QString name=QString::fromLatin1("中文"); 但是在MSVC2015静态编译版本里得到的字符等价于 QString name="中文"; 由于qt默认采用了uft8编码,后者得到的字符无法解决乱码问题。研究了一段时间始终无法解决这个问题,想问问有没有遇到过类似问题的大佬?
clay_child
2019-05-08 17:15
我自己找到原因了,我用的Qt5.10里面有qftp.cpp和qurlinfo.cpp两个源文件,它里面对字符的处理方式是用的QString::fromUtf8。而我自己用的Qftp源文件里对字符串的处理方式是QString::fromLatin1。然后用qt5.10制作的静态编译版本里,network.lib里已经包含了qftp的里。导致程序用的是它自己的源码,中文乱码的问题就出现了
automoblie0
2019-05-09 11:48
QFTP是4版的,问下如何完整的编译QFTP? 我每次编译后用5时候获取list时提示缺少编译
clay_child
2019-05-24 17:04
automoblie0
:
QFTP是4版的,问下如何完整的编译QFTP? 我每次编译后用5时候获取list时提示缺少编译
(2019-05-09 11:48)
缺少编译?
查看完整版本: [--
QFTP获取中文目录乱码
--] [--
top
--]
Powered by
phpwind
v8.7
Code ©2003-2011
phpwind
Gzip disabled