Russian Qt Forum

Qt => Печать => Тема начата: azedol от Ноябрь 25, 2010, 16:23



Название: Проблема с кодировкой при генерировании odt
Отправлено: azedol от Ноябрь 25, 2010, 16:23
Доброго времени суток :)

Взял пример http://doc.trolltech.com/qq/qq27-odfwriter.html   Source (http://doc.trolltech.com/qq/qq27-odfwriter.zip)
Всё вроде не плохо, только когда вставляю русские слова в документе вместо них появляются кракозябры
Непонятно только почему...




Название: Re: Проблема с кодировкой при генерировании odt
Отправлено: Пантер от Ноябрь 25, 2010, 16:53
Куда вставляешь?


Название: Re: Проблема с кодировкой при генерировании odt
Отправлено: azedol от Ноябрь 25, 2010, 17:02
Ну например вместо
Код
C++ (Qt)
m_cursor.insertText("Date", boldFormat);

Пишу
Код
C++ (Qt)
m_cursor.insertText("Дата", boldFormat);

и в документе получается "Дата"

И забавно что в этой колонке сами даты, вставляемые с помощью QDateTime,  отображаются нормально - "Сб апр. 5 02:27:05 2008"


Название: Re: Проблема с кодировкой при генерировании odt
Отправлено: BRE от Ноябрь 25, 2010, 17:21
Почитай про локали, про то как хранятся строки в Qt, про QTextCodec.


Название: Re: Проблема с кодировкой при генерировании odt
Отправлено: azedol от Ноябрь 25, 2010, 17:34
хм а вот так прокатывает, а я думал что Qt умеет работать с Utf
(я в линуксе запускал программу, хотя на винде тот же результат был)
Код
C++ (Qt)
m_cursor.insertText(QString::fromUtf8("Дата"), boldFormat);