std::ostringstream oss;
std::string s="תז";
oss << "insert into t values(" << s << ");"
this->sql = oss.str();
rc = sqlite3_exec(c,this->sql.c_str(), callback, 0 , &zErrMsg);
this->sql.c_str()
包含 UTF-8 字符,则在执行此行后,如果插入的数据是 unicode,则数据库中的此数据将损坏(每个字符一个字节而不是两个字节)。如何添加 Unicode 支持?
我想将תז
写入数据库,写入数据库的字节数为:fa e6
需要写入的内容:d7 aa d7 96
谢谢。
UTF-8 是一种可变长度编码。ASCII 字符每个字符使用一个字节;其他人使用两到四个字节。
SQLite 从不更改字符串中的字节。数据库包含fa e6
字节,因为这些字节是原始字符串s
的内容。
,或将字符串从其实际编码显式转换为 UTF-8。