![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
SVA |
![]()
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 26.5.2008 Пользователь №: 184 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Пробую написать программу в WindowsXP SP3 с применением QT 4.3.0.
Программа подключается к серверу MySQL на котором созданна БД в кодировке Windows-1251 :
И по полученным данным строит свой GUI.
Но беда в том, что строки выводимые в ComboBox-е отображаются символами Latin1, а не Windows-1251. Что ещё необходимо настроить в QT для правильного отображения русских символов в формируемом виджете? |
|
|
Litkevich Yuriy |
![]()
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
SVA |
![]()
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 26.5.2008 Пользователь №: 184 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Пробовал так:
, но эффект тотже. Следует сказать, что русские буквы на других виджетах, созданных при помощи Designer-а, отображаются правильно. |
|
|
ViGOur |
![]()
Сообщение
#4
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Я делал по другому, у меня БД в UTF-8 была, после получения данных из нее, я их преобразовывал к Windows-1251.
В твоем случае, по всей видимости нужно при получении данных переключать кодировку на Latin1, после чего, если тебе нужно Windows-1251, переводить полученные данные в нее... Следует сказать, что русские буквы на других виджетах, созданных при помощи Designer-а, отображаются правильно. Просто QDesigner изнгачально использует правильную кодировку. ![]() |
|
|
Litkevich Yuriy |
![]()
Сообщение
#5
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
SVA |
![]()
Сообщение
#6
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 26.5.2008 Пользователь №: 184 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Методом "научного тыка" нашёл несовсем понятное решение данной проблемы.
Заключается оно в том, что перед добавлением строки в ComboBox, необходимо сделать следующее преоброзование: Цитата QString name = query.value(1).toString().toLatin1();
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#7
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
у тебя получаются каракули в выпадающем списке, когда текст в базе на русском, я правильно понял?
|
|
|
SVA |
![]()
Сообщение
#8
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 26.5.2008 Пользователь №: 184 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
SVA |
![]()
Сообщение
#9
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 26.5.2008 Пользователь №: 184 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
С переходом на версию QT 4.4.0 все проблемы с рускими БД и их отображением отпали.
![]() |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 21.6.2025, 14:52 |