crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Кривое отображение русского текста при печати
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Rocky Дата 15.7.2010, 11:08
  Спасибо за trUtf8, на будующее буду знать. Разобрался так: взял файл (3-й таб) в котором после компиляции все было ок, и скопировал туда текст из файла с таб 1 и 2. После этого все заработало. Что-то было не так в самом формате файла... Правда что фиг его знает. =(
igor_bogomolov Дата 12.7.2010, 22:56
 
Цитата(ЙаМайскЫйПчОЛ)
Да простят меня более опытные сотоварищ, я делаю так... QString str = tr("траляля");, вопщем везде вместо "" пишу tr("");
Я стараюсь так не делать. И так тоже
Цитата(Litkevich Yuriy)
QString s = trUtf8("текст");

Всё в латинице. То что нуждается в переводе оборачивается в tr, если не нуждается в QLatin1String. При этом выставляю QT_NO_CAST_FROM_ASCII, что бы сразу получать по рукам если где-то забыл обернуть
ЙаМайскЫйПчОЛ Дата 12.7.2010, 22:44
  Да простят меня более опытные сотоварищ, я делаю так... QString str = tr("траляля");, вопщем везде вместо "" пишу tr("");
так что если стоит QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
то должно быть корректно...
Убедись что все исходники в одной кодировке и пересобирите проект... хотя, наверное вы это уже делали...
можете прислать исходники попробую собрать у себя
Удачи
Litkevich Yuriy Дата 12.7.2010, 19:56
 
Цитата(Rocky @ 12.7.2010, 16:25) *
QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
Цитата(Rocky @ 12.7.2010, 16:25) *
QString("воздуха в помещениях,°С")
Цитата(Rocky @ 12.7.2010, 16:25) *
Все исходники сохранены в кодировке UTF-8
не соответствие

Если исходники в UTF-8, то просто оборачивай текст в trUtf8, например:
QString s = trUtf8("текст");
Rocky Дата 12.7.2010, 13:36
  Т.е. даже если я просто в коде пишу такую строку
QString s = qApp->tr("текст");

то на 1 и 2 вкладках прямо в отладчике вижу, что в s записались квадратики.... А на 3-й все ок... Получается что что-то не то с кодировкой исходника чтоли? Кодеки выставляются только один раз.. При загрузке программы.. Странно как-то все.
Rocky Дата 12.7.2010, 12:25
  Всем привет! Помогите плиз разобраться... Дня 3 сижу и ниче не понимаю.. Есть проект. Все исходники сохранены в кодировке UTF-8. В проекте 3 вкладки (tabwidget). На каждой вкладке есть кнопка "бланк" с которой можно распечатать определенные данные. Печатаю так
QPainter* pPainter;

pPainter->drawText(oRect.left() + 1 * nCellWidth + 5, 2 * nCellHeight - 5, QString("воздуха в помещениях,°С"));


При загрузке проекта пишу
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());


В итоге на первых двух вкладках вместо русских букв вижу одни квадратики, на 3-й вкладке - все ок. Файлы с исходниками сохранены в UTF-8. Вместо QString("текст") пробовал qApp->tr(""), QString("текст").toAscii(), QString("текст").toStdString().c_str() - при всех вариантах вижу квадратики... В чем могут быть грабли? Qt 4.6.2. + vs 2008.

Спасибо!

Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 4.12.2020, 20:51