qt中使用otl方式访问SQLite3数据库,带有中文时查询失败

公司有个项目,在qt引用otl的otl_stream方法去访问SQLite3,在“SELECT”查询时,SQL语句是纯英文时则正常的,带有中文条件则返回失败,我看网上说的都是说要设置为utf8编码问题,但是也有人说otl不支持utf8的,下面是执行的执行的代码:

QString statementOtl;
statementOtl = "select * from produce_ where name like :key<char[100]> order by insert_time desc";
otl_stream i(1000, statementOtl.toStdString().c_str(), db);
string key = "%测试%";
const char* ck = key.c_str();
 i << ck;
 while (!i.eof())
{
    ********
}

其中i.eof()不为0,得不到数据,sql语句用qt中的fromLocal8Bit等方法转化过也不行,请问大家有遇到同样的问题吗

你数据库是UTF-8吗