QtSQL读取特殊字符
QtSQL reading special characters
我有一个数据库,它存储带有 é、ç、ã 等葡萄牙语字符的字符串。
我在 Notepad++ 上使用 INSERT 查询编辑文件,并将 UTF-8 设置为编码。我也在设置 'PRAGMA encoding = "UTF-8"' 后插入 sqlite3 数据库。
现在,当我尝试在我的 Qt 应用程序上读取它时,查询 returns 个无效字符。我做了一个查询,例如:
QSqlQuery query;
QString description;
query.prepare("SELECT * FROM Training");
query.exec();
while(query.next())
{
description = query.record().field("description").value().toString().toUtf8();
...
}
我已经尝试过不使用 'toUtf8()' 和使用 'toLatin1()'。 None 的工作。我只得到问号或垃圾。
编辑:
当我直接从 sqlite3 命令行 SELECT 时,字符串打印正确!
当 运行 sqlite3
在 Windows 控制台中时,UTF-8 字符处理不正确。
要正确输入和显示 UTF-8 字符,您必须使用任何其他工具。
我有一个数据库,它存储带有 é、ç、ã 等葡萄牙语字符的字符串。
我在 Notepad++ 上使用 INSERT 查询编辑文件,并将 UTF-8 设置为编码。我也在设置 'PRAGMA encoding = "UTF-8"' 后插入 sqlite3 数据库。
现在,当我尝试在我的 Qt 应用程序上读取它时,查询 returns 个无效字符。我做了一个查询,例如:
QSqlQuery query;
QString description;
query.prepare("SELECT * FROM Training");
query.exec();
while(query.next())
{
description = query.record().field("description").value().toString().toUtf8();
...
}
我已经尝试过不使用 'toUtf8()' 和使用 'toLatin1()'。 None 的工作。我只得到问号或垃圾。
编辑: 当我直接从 sqlite3 命令行 SELECT 时,字符串打印正确!
当 运行 sqlite3
在 Windows 控制台中时,UTF-8 字符处理不正确。
要正确输入和显示 UTF-8 字符,您必须使用任何其他工具。