SQLite在文本检索中遗漏了字符

时间:2013-03-14 18:03:34

标签: linux sqlite g++

我正在努力将应用程序从Windows移植到Linux。除了数据库之外,我已经设法使一切正常运行。每当我打电话给sqlite3_column_text16()时,我都会得到一个缺少大多数字符的字符串。我不知道这种行为源自于Windows,因为它无可挑剔地工作。

我没什么特别的,只是

wstring a(static_cast<wchar_t const *>(sqlite3_column_text16(stmt, 2)));

谢谢。

1 个答案:

答案 0 :(得分:1)

Unicode字符可以有16位以上,因此除Windows以外的所有操作系统都使用wchar_t的32位类型。

你可以从UTF-16转换为UTF-32(照顾代理对),但根据程序的设计方式,在任何地方使用UTF-8可能更容易。