【问题标题】:QTextEditor returns quotes as question marks in QT RubyQTextEditor 在 QT Ruby 中返回引号作为问号
【发布时间】:2009-03-04 16:23:34
【问题描述】:

当我从 Word 文档复制并粘贴到 QT TextEditor 中时,它看起来不错。但是当我尝试使用toPlainTexttoHTML 访问文本时,它会返回带有所有引号(双引号和单引号)作为问号的文本。有没有解决的办法?我正在使用 qt4-qtruby 绑定。

【问题讨论】:

    标签: ms-word text-editor copy-paste quotes qtruby


    【解决方案1】:

    这是因为 Word 中使用的引号实际上不是 ASCII 引号字符 - 它们是某种时髦的 unicode 字符,看起来像引号。

    对于 HTML,如果您使用 UTF-8 编码,它应该可以正常工作。对于纯文本,虽然你很不走运。

    这是nice page with some more info

    【讨论】:

      【解决方案2】:

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

      编辑
      发布您最终使用的任何解决方案。我很感兴趣。

      我也是 QT 新手,这只是我的看法。

      我希望这会有所帮助。

      【讨论】:

      • 我还没有找到满意的答案。但在这一点上,链接到 QT 库的 ruby​​ 绑定似乎不兼容。如果你只使用直接的 c 或 c++ 我相信你不会看到这个问题,或者至少你可以通过设置编码来解决它。
      • 感谢您的回复。我也会继续寻找答案。如果你弄明白了,请告诉我。
      【解决方案3】:

      当您调用toPlainText() 时,它会返回QStringQString 是内部 unicode,因此只要数据在 QString 内,它就应该没问题。如果您使用toAscii()QString 中获取数据,那么这就是发生错误转换的地方。
      如果这个理论是正确的,请在QString 上使用toUtf8() 而不是toAscii()

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-18
        • 2012-01-03
        • 1970-01-01
        • 1970-01-01
        • 2013-12-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多