Pregunta

Cuando copio y pego desde un documento de Word en un QT TextEditor , parece que se ve bien. Pero cuando intento acceder al texto usando toPlainText o toHTML , devuelve el texto con todas las comillas (doble y simple) como signos de interrogación. ¿Hay alguna forma de evitar esto? Estoy usando los enlaces qt4-qtruby.

¿Fue útil?

Solución

Esto se debe a que las citas utilizadas en Word no son en realidad caracteres de comillas ASCII: son una especie de carácter unicode original que parece una cita.

Para HTML, si usa la codificación UTF-8, debería funcionar bien. Para texto sin formato, aunque no tengas suerte.

Aquí hay una bonita página con más información

Otros consejos

Supongo que está utilizando un QTextEdit. Creo que el problema está relacionado con la codificación. Intente guardar el documento de Word como texto sin formato e intente lo mismo. Si es importante interoperar con Word, creo que tendrá que descubrir cómo cambiar la codificación en copiar y pegar.

Editar
Publique cualquier solución que use finalmente. Estoy muy interesado.

También soy nuevo en QT y esta es solo mi opinión.

Espero que esto ayude.

Cuando llama a toPlainText () , devuelve un QString . QString es internamente unicode, por lo que siempre que los datos estén dentro del QString se supone que está bien. Si obtiene los datos del QString usando toAscii () , entonces es donde tiene lugar la mala conversión.
Si esta teoría es correcta, use toUtf8 () en lugar de toAscii () en el QString .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top