QT+MYSQL+WINDOWS, Проблемы с русским текстом. |
Здравствуйте, гость ( Вход | Регистрация )
QT+MYSQL+WINDOWS, Проблемы с русским текстом. |
SVA |
26.5.2008, 17:47
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 26.5.2008 Пользователь №: 184 Спасибо сказали: 0 раз(а) Репутация: 0 |
Пробую написать программу в WindowsXP SP3 с применением QT 4.3.0.
Программа подключается к серверу MySQL на котором созданна БД в кодировке Windows-1251 :
И по полученным данным строит свой GUI.
Но беда в том, что строки выводимые в ComboBox-е отображаются символами Latin1, а не Windows-1251. Что ещё необходимо настроить в QT для правильного отображения русских символов в формируемом виджете? |
|
|
Litkevich Yuriy |
26.5.2008, 17:55
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
SVA |
26.5.2008, 20:01
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 26.5.2008 Пользователь №: 184 Спасибо сказали: 0 раз(а) Репутация: 0 |
Пробовал так:
, но эффект тотже. Следует сказать, что русские буквы на других виджетах, созданных при помощи Designer-а, отображаются правильно. |
|
|
ViGOur |
26.5.2008, 20:11
Сообщение
#4
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Я делал по другому, у меня БД в UTF-8 была, после получения данных из нее, я их преобразовывал к Windows-1251.
В твоем случае, по всей видимости нужно при получении данных переключать кодировку на Latin1, после чего, если тебе нужно Windows-1251, переводить полученные данные в нее... Следует сказать, что русские буквы на других виджетах, созданных при помощи Designer-а, отображаются правильно. Просто QDesigner изнгачально использует правильную кодировку.
|
|
|
Litkevich Yuriy |
26.5.2008, 20:25
Сообщение
#5
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
SVA |
27.5.2008, 19:24
Сообщение
#6
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 26.5.2008 Пользователь №: 184 Спасибо сказали: 0 раз(а) Репутация: 0 |
Методом "научного тыка" нашёл несовсем понятное решение данной проблемы.
Заключается оно в том, что перед добавлением строки в ComboBox, необходимо сделать следующее преоброзование: Цитата QString name = query.value(1).toString().toLatin1();
|
|
|
Litkevich Yuriy |
27.5.2008, 19:33
Сообщение
#7
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
у тебя получаются каракули в выпадающем списке, когда текст в базе на русском, я правильно понял?
|
|
|
SVA |
28.5.2008, 11:32
Сообщение
#8
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 26.5.2008 Пользователь №: 184 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
SVA |
7.6.2008, 15:40
Сообщение
#9
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 26.5.2008 Пользователь №: 184 Спасибо сказали: 0 раз(а) Репутация: 0 |
С переходом на версию QT 4.4.0 все проблемы с рускими БД и их отображением отпали.
|
|
|
Текстовая версия | Сейчас: 15.1.2025, 16:00 |