QTextEditor возвращает кавычки в виде вопросительных знаков в QT Ruby - PullRequest
1 голос
/ 04 марта 2009

Когда я копирую и вставляю документ Word в QT TextEditor, это выглядит нормально. Но когда я пытаюсь получить доступ к тексту, используя toPlainText или toHTML, он возвращает текст со всеми кавычками (двойными и одинарными) в виде вопросительных знаков. Это можно обойти? Я использую привязки qt4-qtruby.

Ответы [ 3 ]

1 голос
/ 04 марта 2009

Это потому, что кавычки, используемые в Word, на самом деле не являются символами кавычек ASCII - это какой-то забавный символ юникода, который выглядит как кавычка.

Для HTML, если вы используете кодировку UTF-8, она должна работать нормально. Для простого текста, хотя вам в значительной степени не повезло.

Вот хорошая страница с дополнительной информацией

0 голосов
/ 04 марта 2009

Когда вы звоните toPlainText(), возвращается QString. QString является внутренним юникодом, поэтому, пока данные находятся внутри QString, все должно быть в порядке. Если вы получаете данные из QString, используя toAscii(), тогда происходит плохое преобразование.
Если эта теория верна, используйте toUtf8() вместо toAscii() на QString.

0 голосов
/ 04 марта 2009

Я предполагаю, что вы используете QTextEdit. Я думаю, что проблема связана с кодированием. Попробуйте сохранить текстовый документ как обычный текст и попробуйте то же самое. Если важно взаимодействовать со словом, думаю, вам придется выяснить, как изменить кодировку при копировании-вставке.

Редактировать
Публикуйте любое решение, которое вы используете, наконец. Я очень заинтересован.

Я новичок в QT, и это только мое мнение.

Надеюсь, это поможет.

...