QTextEdit restituisce le virgolette come punti interrogativi in ??QT Ruby
-
03-07-2019 - |
Domanda
Quando copio e incollo da un documento Word in un TextEditor
QT, sembra che vada bene. Ma quando provo ad accedere al testo usando toPlainText
o toHTML
, restituisce il testo con tutte le virgolette (doppie e singole) come punti interrogativi. C'è un modo per aggirare questo? Sto usando i collegamenti qt4-qtruby.
Soluzione
Questo perché le virgolette utilizzate in Word non sono in realtà caratteri di citazione ASCII - Sono una sorta di carattere unicode funky che sembra una citazione.
Per HTML, se si utilizza la codifica UTF-8, dovrebbe funzionare correttamente. Per il semplice testo, anche se sei quasi sfortunato.
Altri suggerimenti
Presumo che tu stia utilizzando un QTextEdit. Penso che il problema sia legato alla codifica. Prova a salvare il documento Word come testo normale e prova lo stesso. Se è importante interagire con Word, penso che dovrai capire come modificare la codifica su copia-incolla.
Modifica
Pubblica la soluzione che usi finalmente. Sono molto interessato.
Sono nuovo anche in QT e questa è solo la mia opinione.
Spero che questo aiuti.
Quando si chiama toPlainText ()
restituisce un QString
. QString
è unicode internamente, quindi fintanto che i dati sono all'interno del QString
dovrebbe essere OK. Se ottieni i dati da QString
utilizzando toAscii ()
, è qui che avviene la conversione errata.
Se questa teoria è corretta, usa toUtf8 ()
invece di toAscii ()
su QString
.