C++存储特殊字符("ç","á" ,..等)在SQLite数据库上
c++ store special characters ("ç", "á",..etc) on SQLite db
我的程序使用SQLite3库打开并执行一些对本地数据库的查询。这是我用来执行查询(显示错误)的函数:
void exec(string query, string place_error){
if( sqlite3_exec(sqldb,query.c_str(),0,0,&db_err) != SQLITE_OK)
sql_error(place_error+" - "+(string)db_err);
}
现在,如果我尝试执行如下命令:
exec("INSERT INTO table (testTable) VALUES('ççç')","Insert_Error");
它将存储像这样的符号。
如果我运行sqlite3 shell并执行这个完全相同的查询,它将无法工作,因为它也会存储奇怪的字符。
我可以存储字符如"ç"或"
数据库默认是UTF-8编码,所以有什么特殊的语句,我应该添加到查询?或者问题出在别的地方。
感谢
PS:我也在我的程序上使用QT库。我需要存储的所有信息通常都转换为utf8(使用. toutf8 (). constdata())。我确保在exec()参数上接收到的查询是正确的,并且所有的特殊字符都是正确的。
虽然它似乎是错误的字符,当你试图存储像"ç"或"
QString::fromLatin1(returned_string.c_str());
一切都会显示良好。
相关文章:
- 查询SQLite数据库中的日期
- 连接到 URL Sqlite 数据库C++
- 在SQLITE数据库中写入记录需要花费大量时间.如何提高刀片操作效率?
- 如何使用C ++将SQLite数据库中的所有表从一个数据库复制到另一个数据库
- 将数据从 SQLite 数据库保存到变量中
- QT QML:使用.qrc文件将SQLite数据库部署到Android不起作用
- 确定 SQLite 数据库是否已锁定
- 如何在 Windows 上使用 Visual Studio 2017 连接到 C++ 中的 sqlite 数据库?
- 如何在Qt cpp的SQlite数据库中插入变量的值
- 使用 c++ 生成器编译 sqlite 数据库时出错 5.
- 如何在不同的列中插入随机数量的值? 查询.C++.SQlite 数据库
- Qt:如何使用sqlite数据库修改2个表中的数据记录
- QT SQLITE数据库不会打开
- 如何使用现有的 Sqlite 数据库部署 Qt 应用程序
- 如何从Qt使用密码访问Sqlite数据库
- 在C++中创建 Sqlite 数据库
- 在哪里可以在Windows和OS X上存储SQLite数据库
- 使用 qt 从 sqlite 数据库中获取数据
- 如何使用QT在SQLite数据库中插入RadioButton值
- 将特定结果集从Oracle数据库复制到C 中的SQLite数据库的最佳方法