Почему нет функции sqlite3_mprintf16 ()?
Потому что SQLite еще не заражен UTF-16. Он использует UTF-8 почти везде в интерфейсе, поэтому нет смысла форматировать запрос, закодированный в строке UTF-16.
Мне нужна функциональность "% q", но для строки UTF-16.
Это другая история. Вам нужно что-то вроде «% q16», которого на самом деле не существует.
Сказал, что вы не должны использовать sqlite3_mprintf
вообще. Вместо этого используйте подготовленные операторы и связывайте функции. Они позволяют вам связать строку UTF-16, используя sqlite3_bind_text16
. Более того, прекратите использовать UTF-16 для ваших строк .