[Ossm-members] FireBird & Qt
Dean Josevski
dean at integraeng.com.mk
Thu Feb 2 17:46:36 UTC 2006
На Thursday 02 February 2006 18:28, Дамјан напиша:
>
> utf8_unicode_ci е тоа што сортира македонски правилно
>
со двете пробав, но истот е. (Ќе го вратам сега на unicode)
> >
> > QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf8"));
> > QTextCodec::setCodecForTr(QTextCodec::codecForName("utf8"));
>
> ова ти е нешто од QT-то.. како да ги третира C string-овите... мислам дека
> не ти треба воопшто.
>
Ми требаше бидејќи користам(ев) cp1251, сега ги исклучив.
>
> Ми се чини дека погрешно ги внесуваш податоците во база.
Конечно мислам дека нешто грешам во кодот на Qt, но не знам каде.
Работам вака:
Во /etc/my.cnf имам:
[client]
default-character-set = utf8
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
character-set-server=utf8
collation-server=utf8_unicode_ci
init_connect='set collation_connection = utf8_unicode_ci;'
# Default to using old password format for compatibility with old and
# shorter password hash.
# Reference: http://dev.mysql.com/doc/mysql/en/Password_hashing.html
old_passwords=1
[mysql.server]
user=mysql
basedir=/var/lib
[mysqld_safe]
err-log=/var/log/mysqld/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
Со show variables секаде добивам utf8.
Во Qt ги коментирав:
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf8"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("utf8"));
и не користам tr(), или trUtf8().
На почетокот, преку апликацијата задавам:
void Form1::setNames()
{
QSqlQuery query;
query.exec("set names utf8");
if (!query.isActive())
query.lastError().showMessage();
query.exec("set collation_connection = utf8_unicode_ci");
if (!query.isActive())
query.lastError().showMessage();
}
Резултатот е поразувачки - прашалници.
--
Деан Јошевски
More information about the Ossm-members
mailing list