As you have the source code for CppSqlite , you could always write an additional (Unicode) method as follows:
SQLITE_API int sqlite3_execW(
sqlite3*,
const wchar_t *sql,
int(*callback)(void*, int, wchar_t**, wchar_t**),
void *,
wchar_t **errmsg
);
This code would (a) convert any parameters from Unicode to (for example) UTF-8, and call the
char version. If a Unicode callback function is provided, it can be wrapped in a similar manner - provide a callback function that accepts
char parameters which converts them to Unicode, and calls the Unicode callback function.
If your code runs under Windows, the MultibyteToWideChar() and WideCharToMultiByte() APIs will do the conversion for you.