当我从 Word 文档复制并粘贴到 QTTextEditor
时,它看起来不错。但是当我尝试使用toPlainText
or访问文本时toHTML
,它会返回带有所有引号(双引号和单引号)作为问号的文本。有没有解决的办法?我正在使用 qt4-qtruby 绑定。
Slickt10
问问题
677 次
3 回答
1
这是因为 Word 中使用的引号实际上并不是 ASCII 引号字符——它们是某种时髦的 unicode 字符,看起来像引号。
对于 HTML,如果您使用 UTF-8 编码,它应该可以正常工作。对于纯文本,尽管您非常不走运。
这是一个不错的页面,其中包含更多信息
于 2009-03-04T16:39:46.653 回答
0
我假设您使用的是 QTextEdit。我认为问题与编码有关。尝试将 word 文档保存为纯文本并尝试相同的操作。如果与 word 互操作很重要,我认为您将必须弄清楚如何更改复制粘贴的编码。
编辑
请发布您最终使用的任何解决方案。我很感兴趣。
我也是 QT 的新手,这只是我的看法。
我希望这有帮助。
于 2009-03-04T16:31:30.760 回答
0
当您调用toPlainText()
它时,它会返回一个QString
. QString
是内部 unicode,所以只要数据在QString
它应该是可以的。如果您从QString
使用中获取数据,toAscii()
那么这就是发生错误转换的地方。
如果这个理论是正确的,toUtf8()
请toAscii()
在QString
.
于 2009-03-04T16:47:25.947 回答