我有一个数据库,它存储带有葡萄牙字母的字符串,例如é、ç、as。
我用Notepad++上的INSERT查询编辑文件,UTF-8设置为编码。我还在“PRAGMA编码=”UTF-8“之后插入sqlite3数据库。
现在,当我尝试在Qt应用程序上读取它时,查询返回无效字符。我执行如下查询:
QSqlQuery query;
QString description;
query.prepare("SELECT * FROM Training");
query.exec();
while(query.next())
{
description = query.record().field("description").value().toString().toUtf8();
...
}我已经尝试过没有'toUtf8()‘和'toLatin1()’。这些都没用。我只得到问号或垃圾。
编辑:当我直接从sqlite3命令行中选择字符串时,字符串是正确打印的!
发布于 2015-03-03 08:32:52
在Windows中运行sqlite3时,不正确地处理UTF-8字符.
要正确输入和显示UTF-8字符,您必须使用任何其他工具.
https://stackoverflow.com/questions/28818020
复制相似问题