如何使用带有UTF-16字符串的sqlite3_mprintf()?

时间:2011-12-08 09:49:08

标签: c++ unicode sqlite utf-16

为什么没有sqlite3_mprintf16()函数?我需要'%q'功能,但需要UTF-16字符串。

1 个答案:

答案 0 :(得分:2)

  

为什么没有sqlite3_mprintf16()函数?

因为SQLite尚未被UTF-16感染。它几乎在界面的任何地方使用UTF-8,因此格式化以UTF-16字符串编码的查询没有意义。

  

我需要'%q'功能,但需要UTF-16字符串。

这是一个不同的故事。你需要的是'%q16',实际上并不存在。

说,你根本不应该使用sqlite3_mprintf。使用预准备语句和绑定函数。它们允许您使用sqlite3_bind_text16绑定UTF-16字符串。更好的是,stop using UTF-16 for your strings