当我从Word文档复制并粘贴到QT TextEditor
时,它似乎很好看。但是当我尝试使用toPlainText
或toHTML
访问文本时,它会返回带有所有引号(双引号和单引号)作为问号的文本。有没有解决的办法?我正在使用qt4-qtruby绑定。
这是因为Word中使用的引号实际上不是ASCII引号字符 - 它们是某种类似于引用的时髦unicode字符。
对于HTML,如果您使用UTF-8编码,它应该可以正常工作。对于纯文本,虽然你几乎没有运气。
我假设您正在使用QTextEdit。我认为问题是编码相关。尝试将word文档保存为纯文本并尝试相同。如果与word互操作很重要,我认为你必须弄清楚如何在复制粘贴上更改编码。
编辑 请发布您最终使用的解决方案。我很感兴趣。
我也是QT的新手,这只是我的意见。
我希望这有帮助。
当你打电话给toPlainText()
时,它会返回一个QString
。 QString
是内部unicode,所以只要数据在QString
内部就可以了。如果你使用QString
从toAscii()
获取数据,那么那就是发生错误转换的地方。
如果这个理论是正确的,那就在toUtf8()
上使用toAscii()
而不是QString
。