QTextEdit在QT Ruby中将引号作为问号返回
-
03-07-2019 - |
题
当我从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()
。
不隶属于 StackOverflow