当我从Word文档复制并粘贴到QT TextEditor 时,它似乎很好看。但是当我尝试使用 toPlainText toHTML 访问文本时,它会返回带有所有引号(double和single)作为问号的文本。有没有解决的办法?我正在使用qt4-qtruby绑定。

有帮助吗?

解决方案

那是因为Word中使用的引号实际上不是ASCII引号字符 - 它们是某种类似于引用的时髦unicode字符。

对于HTML,如果使用UTF-8编码,它应该可以正常工作。对于纯文本,虽然你几乎没有运气。

这是包含更多信息的精彩页面

其他提示

我假设你正在使用QTextEdit。我认为问题是编码相关。尝试将word文档保存为纯文本并尝试相同。如果与word互操作很重要,我认为你必须弄清楚如何在复制粘贴时更改编码。

修改结果 请发布您最终使用的解决方案。我很感兴趣。

我也是QT的新手,这只是我的意见。

我希望这会有所帮助。

当您调用 toPlainText()时,它会返回 QString QString 是内部unicode,所以只要数据在 QString 中就可以了。如果使用 toAscii() QString 中获取数据,那么那就是发生错误转换的地方。
如果这个理论是正确的,那么在 QString 上使用 toUtf8()代替 toAscii()

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top