LINUX.ORG.RU

Qt4 & MySQL & utf8


0

0

добрый вечер! помогите плиз с организацией корректного отображение русских символов в случае сабжа. корректирование src/sql/drivers/mysql/qsql_mysql.cpp, как было написано в http://lists.trolltech.com/qt-interest/2006-02/thread01317-0.html (правда, для более ранней версии), ни к чему не привело. Сразу при старте говорю, что хочу utf-8:
15 QTextCodec *codec = QTextCodec::codecForName("UTF-8");
16 QTextCodec::setCodecForLocale(codec);
17 QTextCodec::setCodecForCStrings(codec);
18 QTextCodec::setCodecForTr(codec);
даже при каждом открытии каждой таблички делаю "SET NAMES 'UTF-8';"... ноль эмоций :(

помогите, плз :)

Сразу при старте Qt4 использует utf8. Использую точно такую же связку, как и у тебя - никаких проблем!
Покажи show create table <table_name> и default-character-set в /etc/my.cnf

UVV ★★★★★
()
Ответ на: комментарий от UVV

default-character-set=utf8

+------------+-------------------------------------------------------+
| Table | Create Table |
+------------+-------------------------------------------------------+
| fish_sorts | CREATE TABLE `fish_sorts` (
`id` smallint(5) unsigned NOT NULL auto_increment,
`name` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 |
+------------+-------------------------------------------------------+

а "иероглифы" в Qt походят на что-то 16-тибитовое...

metawishmaster ★★★★★
() автор топика
Ответ на: комментарий от metawishmaster

спасибо большое! :) наполовину заработало
откровенно говоря, до того как Вы ответили, default-character-set не был установлен вообще, а вывод show create table fish_sorts говорил, что DEFAULT CHARSET=Latin1... но я не сразу увидел изменения, так как тестовая база заполнялась скриптом (source base.sql), и заполнялось в том же "диком" unicode, но вот если "ручками" вводить - все стало правильно =) спасибо еще раз

p.s. сейчас еще попробую запустить скрипт, принудительно указав кодировку утф8

metawishmaster ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.