c++ - 如何将 sqlite3_mprintf() 与 UTF-16 字符串一起使用?

标签 c++ unicode sqlite utf-16

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

最佳答案

Why there is no sqlite3_mprintf16() function?

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

I need the '%q' functionality but for UTF-16 string.

这是一个不同的故事。您需要的是类似“%q16”的内容,但实际上并不存在。

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

关于c++ - 如何将 sqlite3_mprintf() 与 UTF-16 字符串一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8429022/

相关文章:

python - Python中的SQLite3 WHERE子句

c++ - Stack Overflow 深度优先搜索

c++ - 程序入口点在哪里

ios - UILabel 仅支持某些 Unicode 字符

c - 在 C 中打印希腊字符

sql - CoffeeScript,寻找类似 SQL 的模块

c++ - 作者用下面的伪代码是什么意思?

c++ - float 不准确

c++ - 有没有办法检测字母数字 Unicode 符号?

android - 我可以从 Flutter 导出我的 sqlite 数据库吗?