Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Qt5 и Русские буквы 
:(
    Опции темы
OlegIT
Дата 1.7.2013, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 684
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



Для правильного отображения русских букв в Qt4.xx делал так
Код

    QTextCodec *codec = QTextCodec::codecForName("CP1251");
    QTextCodec::setCodecForTr(codec);
    QTextCodec::setCodecForCStrings(codec);
    QTextCodec::setCodecForLocale(codec);
 

В пятой версии функций QTextCodec::set... нет. Вроде все возможные варианты перебрал. Как правильно русские буквы воспроизводить, может кодировка "CP1251" не правильная? С "UTF-8" такая же ерунда на экране, см. рисунок.


Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  Снимок.PNG 2,56 Kb
PM MAIL   Вверх
borisbn
Дата 1.7.2013, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 48
Всего: 135



Мда... похоже они оставили только QTextCodec::setCodecForLocale.
Попробуй её, но не с "CP1251", а с "Windows-1251"


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
OlegIT
Дата 1.7.2013, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 684
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



Увы, не помогло.

PM MAIL   Вверх
bsa
Дата 1.7.2013, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 24
Всего: 196



Кодировка исходных файлов должна быть utf-8. В последнем криторе это сделали по умолчанию.
А по-хорошему, не используй русский в исходниках. Используй английский, а руссификацию делай через ts.
PM   Вверх
borisbn
Дата 2.7.2013, 06:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 48
Всего: 135



> не используй русский в исходниках. Используй английский, а руссификацию делай через ts.
Блин.... 
1) А если у меня целевая аудитория исключительно русскоязычная, то зачем мне это?
2) У меня тонны кода на win-1251 (конечно, не большая проблема перевести автоматом в utf-8, но всё же)
3) Как уже много раз говорилось, работать с русскими буквами в utf-8 не просто геморрой, а он же в квадрате. С QString, правда, такой проблемы нет, но см. п. 2.
4) Вы имели в виду tr, а не ts, или они ещё что-то изменили ?

Это сообщение отредактировал(а) borisbn - 2.7.2013, 06:25


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
OlegIT
Дата 2.7.2013, 08:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 684
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



Я и с tr и без tr пробовал. Всё одно.

А ts это обратный транслит?
PM MAIL   Вверх
bsa
Дата 2.7.2013, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 24
Всего: 196



ts - это расширение файла переводов.

OlegIT, ты codecForTr не забыл?
PM   Вверх
borisbn
Дата 2.7.2013, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 48
Всего: 135



Цитата(bsa @  2.7.2013,  11:00 Найти цитируемый пост)
ты codecForTr не забыл?

дык
Цитата(borisbn @  1.7.2013,  17:59 Найти цитируемый пост)
похоже они оставили только QTextCodec::setCodecForLocale.


Цитата(OlegIT @  2.7.2013,  08:44 Найти цитируемый пост)
 Всё одно.

А исходники перевёл в utf-8 ?


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
Guinness
Дата 2.7.2013, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 21.6.2009
Где: Зеленоград

Репутация: 2
Всего: 10



тупанул, удалите)

Это сообщение отредактировал(а) Guinness - 2.7.2013, 11:27
PM MAIL   Вверх
bsa
Дата 2.7.2013, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 24
Всего: 196



Цитата(borisbn @  2.7.2013,  12:20 Найти цитируемый пост)
похоже они оставили только QTextCodec::setCodecForLocale.

Засада... Что-то они слишком радикально поступили.
Ну лично мне пофиг. У меня исходники в utf-8. Более того, по-русски только комментарии. У нас принято изначально делать программу на английском, даже если она для внутренних целей.
PM   Вверх
serger
Дата 3.7.2013, 06:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 518
Регистрация: 19.6.2007
Где: Ижевск

Репутация: нет
Всего: 5



Цитата

   Как уже много раз говорилось, работать с русскими буквами в utf-8 не просто геморрой, а он же в квадрате. 
   

Почему? В чём проблемы?

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL WWW Skype GTalk Jabber   Вверх
borisbn
Дата 3.7.2013, 07:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 48
Всего: 135



>Почему? В чём проблемы?
Код
std::string hi = "прЕвет";
hi[ 2 ] = 'и';



--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
bsa
Дата 3.7.2013, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 24
Всего: 196



borisbn, вот я и говорю, нечего русскому тексту делать в исходниках. Тем более, что исходники не поддерживают множественные формы. А через перевод очень даже. Если очень хочется на русском, то следует использовать транслит. А потом все равно через лингвиста прогнать.
PM   Вверх
OlegIT
Дата 3.7.2013, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 684
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



Цитата(bsa @  3.7.2013,  10:39 Найти цитируемый пост)
...то следует использовать транслит. А потом все равно через лингвиста прогнать. 

Если не сложно примерчик.

Как я понимаю так можно работать с любым языком.

PM MAIL   Вверх
bsa
Дата 3.7.2013, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 24
Всего: 196



Пример чего?
Код
QString text = tr("Polucheno %n bait(ov)", "", size);

i18n-source-translation
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.1039 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.