crossplatform.ru

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


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

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

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


Последние 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 Рейтинг@Mail.ru Текстовая версия Сейчас: 5.7.2025, 0:10