Russian Qt Forum
Сентябрь 30, 2024, 20:23 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Кодировка MySQL. Вопрос новичка  (Прочитано 3611 раз)
toggetit
Гость
« : Апрель 01, 2009, 10:43 »

Добрый день.

Работаю с Qt 4.4.3 в Ubuntu 8.10. Версия MySQL 5.0.67. Всё из репозиториев. Системная кодировка на сколько я понял - Utf8. При создании/просмотре баз через консоль русские символы отображаются корректно. Из написанных приложений Qt - "кракозябры".
Подскажите как исправить ситуацию

P.S. Порывшись по форуму нашёл такой рецепт:
    QTextCodec *codec = QTextCodec::codecForName("UTF8");
    QTextCodec::setCodecForTr(codec);
    QTextCodec::setCodecForCStrings(codec);
    QTextCodec::setCodecForLocale(codec);
непомогает.

P.P.S. В будующем необходимо будет хранить данные в cp-1251.
P.P.P.S. Буду благодарен за любые советы.
Записан
crackedmind
Гость
« Ответ #1 : Апрель 01, 2009, 11:45 »

Выполнить запросы, подставив нужную кодировку. Вроде бы должно помочь. Давно это было, плохо помню Улыбающийся
Цитировать
SET NAMES 'charset_name'
SET CHARACTER SET charset_name
Записан
toggetit
Гость
« Ответ #2 : Апрель 01, 2009, 14:00 »

Всмысле? Я же и так знаю что всё в UTF8. Нужно заставить Qt отображать правильно

т.е. в какой тогда Qt отображает?

P.S. Не заработало - те же каракули (Русский)
« Последнее редактирование: Апрель 02, 2009, 14:42 от toggetit » Записан
toggetit
Гость
« Ответ #3 : Апрель 02, 2009, 15:18 »

ПРОБЛЕМА решилась следующим способом:

Опытным путём было установлено что в MySQL базы создаются ПО-УМОЛЧАНИЮ с ключом DEFAULT CHARSET latin1. Отсюда весь геморрой

добавляем строку "default-character-set=utf8" в  /etc/mysql/my.cnf в блоке [mysqld] и наслаждаемся!!!
« Последнее редактирование: Апрель 02, 2009, 15:43 от toggetit » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.126 секунд. Запросов: 21.