Название: Проблема с кодировкой в QTableView Отправлено: lint от Ноябрь 27, 2008, 17:05 Приложение под Windows.
Виджет QTableView получает таблицу из БД через модель QSqlTableModel. Из базы передаётся кириллицей в кодировке cp1251, в TableView отображается, судя по виду символов, в западно-европейской кодировке Windows. Пробовал прописывать: Код: QTextCodec *codec=QTextCodec::codecForName("Windows-1251"); Ещё пробовал менять кодек на UTF-8, и соответственно менять кодировку выдачи из БД на UTF-8. То же самое. Название: Re: Проблема с кодировкой в QTableView Отправлено: Пантер от Ноябрь 27, 2008, 18:00 Что за БД? Postgresql, firebird, odbc нормально работают с ютф8.
Название: Re: Проблема с кодировкой в QTableView Отправлено: lint от Ноябрь 27, 2008, 18:53 СУБД - MySQL
Устанавливал Код: QTextCodec *codec=QTextCodec::codecForName("UTF-8"); Код: set session character_set_client='utf8'; Похоже, что QTextCodec на QTableView не влияет... Название: Re: Проблема с кодировкой в QTableView Отправлено: sinj от Май 25, 2009, 13:32 присоединяюсь к старому вопросу. Имеется БД, работавшая раньше на mysql 3. Перешел на 5 версию. Перепробовал все вышеописанное, на выходе кракозябры.
Название: Re: Проблема с кодировкой в QTableView Отправлено: mugabe от Май 26, 2009, 10:52 присоединяюсь к старому вопросу. Имеется БД, работавшая раньше на mysql 3. Перешел на 5 версию. Перепробовал все вышеописанное, на выходе кракозябры. подозреваю что при переходе на 5 версию сохранилась кодировка latin1. т.е. фактически данные в 1251, но СУБД думает что это latin1.в данном случае лучше всего все же исправить базу в 1251, или в утф-8. сделать это не так уж просто как может показаться, но инфы в инете по этому вопросу масса Название: Re: Проблема с кодировкой в QTableView Отправлено: svjatoslav от Май 27, 2009, 19:38 Мне кажется, перед открытием таблицы в этом соединении с БД надо выполнить запрос "SET NAMES cp1251".
Название: Re: Проблема с кодировкой в QTableView Отправлено: mugabe от Май 28, 2009, 05:30 Мне кажется, перед открытием таблицы в этом соединении с БД надо выполнить запрос "SET NAMES cp1251". Тогда все русские буковки будут выглядеть как вопросики. |