在使用sqlite存储数据时,当存入字段是汉字时,使用如下方式存储,存储在数据库的字段是可以正常显示的
std::wstring wstr=_T("汉字");std::string str=ws2s(wstr); //ws2s为字符转换函数
当从数据库读取数据时,保存为std::string,如果字符串包含汉字,在列表中显示时,会出现乱码现象,此时,需要将std::string正确转换为QString ,如下
std::string cstring;QString qstring;//从std::string 到QStringqstring = QString(QString::fromLocal8Bit(cstring.c_str()));//从QString 到 std::stringcstring = std::string((const char *)qstring.toLocal8Bit().constData());
参考文章:/jigetage/article/details/88669263
如果觉得《QString和std::string转换乱码与sqlite存储汉字乱码》对你有帮助,请点赞、收藏,并留下你的观点哦!