1.需求
程序要实现产品离线数据下载,故采用java端直接拼接sql文件,客户端下载sql文件,合并到本地数据库。性能还行局域网十几秒7兆多,但是存在一个sqlite或sql文件保存在中文路径下无法合并的问题
2.解决
主要原因是因为sqlite打开数据库时使用utf8打开,qt普遍采用unicode编码。网上方法较多,这里采用另外一种方法解决,采用相对路径避开中文路径的问题
3.代码片段
1.创建数据库
QString strdbpath(QDir::currentPath() + "/db");
QDir dir("");
dir.mkpath(strdbpath);
strdbpath += "/mysqlite.db";
QSqlDatabase dbset = QSqlDatabase::addDatabase("QSQLITE", "file");
dbset.setDatabaseName(str