Как использовать sqlite3_mprintf () со строками UTF-16? - PullRequest
2 голосов
/ 08 декабря 2011

Почему нет функции sqlite3_mprintf16 ()?Мне нужна функциональность "% q", но для строки UTF-16.

1 Ответ

2 голосов
/ 08 декабря 2011

Почему нет функции sqlite3_mprintf16 ()?

Потому что SQLite еще не заражен UTF-16. Он использует UTF-8 почти везде в интерфейсе, поэтому нет смысла форматировать запрос, закодированный в строке UTF-16.

Мне нужна функциональность "% q", но для строки UTF-16.

Это другая история. Вам нужно что-то вроде «% q16», которого на самом деле не существует.

Сказал, что вы не должны использовать sqlite3_mprintf вообще. Вместо этого используйте подготовленные операторы и связывайте функции. Они позволяют вам связать строку UTF-16, используя sqlite3_bind_text16. Более того, прекратите использовать UTF-16 для ваших строк .

...