qt4中使用sqlite3,创建的数据库怎么用中文
请问各位大侠们,qt4中使用sqlite3,创建的数据库怎么用中文比如:
query.exec("insert into person values(101, '李', '三')");
这中文是乱码!求指教
使用QString并设置编码方式
QString sql = QString("insert into person values(101, '李', '三')");
query.exec(sql);
每个中文字符串用QString QString::fromLocal8Bit ( const char * str, int size = -1 ) [static]
转换一下,不用设置QTextCodec。
原来是:“中文”
改为:QString::fromLocal8Bit("中文");
原来是:“中文”
改为:QString::fromLocal8Bit("中文");
哦!哈哈!
原来这么写:query.exec("insert into person values(101, '李', '三')");
改为:query.exec("insert into person values(101, QString::fromLocal8Bit("李"), QString::fromLocal8Bit("三"))");
这回没问题了吧!
### std::string → QString
std::string cstr;
QString str;
str=QStirng::fromLocal8Bit(cstr.c_str()); //可解決中文亂碼問題
query.exec(QObject::tr("insert into person values(101, '李', '三'))");
添加头文件#include <QObject>就ok了!