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.

È stato utile?

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.

Ecco una bella pagina con qualche informazione in più

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 .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top