Russian Qt Forum

Qt => Базы данных => Тема начата: winneru от Марта 30, 2011, 22:54



Название: Неправильная кодировка при выводе в QTableView
Отправлено: winneru от Марта 30, 2011, 22:54
Добрый вечер. Понимаю, что тема уже достаточно избита, но сколько не читал похожих, понять так и не смог. У меня есть БД, созданная на MySQL 5.0. При этом при работе в ней самой проблем с кодировкой нет, и русский и английский работают нормально. Но при попытке вывести данные в QTableView вместо русских букв получаем иероглифы. Пожалуйста объясните где необходимо прописать кодировку, чтобы работало нормально. Заранее спасибо


Название: Re: Неправильная кодировка при выводе в QTableView
Отправлено: CuteBunny от Марта 31, 2011, 03:57
Попробуйте с помощью QTextCodec в main.cpp выставить кодировку в зависимости от кодировки бд.

Я всегда у проекта выставляю кодировку utf-8, все исходники тоже в utf-8 ну и с QTextCodec ставлю кодировку для строк и локали.


Название: Re: Неправильная кодировка при выводе в QTableView
Отправлено: winneru от Марта 31, 2011, 07:23
просто проблема в том что если я в проекте ставлю utf8, то у меня весь интерфейс иероглифами получается.а если в бд пишу "set names utf8" то и сама бд перестает русский язык понимать.


Название: Re: Неправильная кодировка при выводе в QTableView
Отправлено: Mikhail от Марта 31, 2011, 20:34
А какая у вас кодировка для клиентов в MySql   ?
Вот такую и ставьте в "set names ..."


Название: Re: Неправильная кодировка при выводе в QTableView
Отправлено: aliks-os от Марта 31, 2011, 21:35
Смысл в том, чтобы везде использовать одинаковую кодировку. На этот же косяк я сам напарывался в начале. Т.е. кодировка должна быть одинаковой:
1. В БД (use names...)
2. Сами cpp файлы должны быть сохранены в нужной кодировке
3. Ну и использовать QTextCodex


Название: Re: Неправильная кодировка при выводе в QTableView
Отправлено: winneru от Марта 31, 2011, 23:58
А как мне узнать в какой кодировке у меня *cpp файлы созданы?


Название: Re: Неправильная кодировка при выводе в QTableView
Отправлено: serg_hd от Апреля 01, 2011, 00:01
А как мне узнать в какой кодировке у меня *cpp файлы созданы?
с помощью той IDE, в которой их создавал например


Название: Re: Неправильная кодировка при выводе в QTableView
Отправлено: aliks-os от Апреля 01, 2011, 19:00
Если работаете в Qt Creator, тогда см. в меню "Правка-Выбрать кодировку"