sqlite3_0">QT读取sqlite3中中文在界面上显示是乱码
// 问题描述:QT 读取sqlite3中的数据;中文乱码:使用sqlite3 c++ 接口 保存在char* 中;然后转换成QString 在界面显示
//1.界面上我们文本采用gb2312格式;需要在工程main函数QApplication app(argc, argv); 下添加 (根据你的项目来修改是gb2312还是其他)
QTextCodec::setCodecForLocale(QTextCodec::codecForName("gb2312"));
//2.已经知道数据库中的字符集是gb2312;使用下面转换可以正常显示中文 函数参数是从sqlite3读取的内容保存在char*中
QString gb2312TextDeal(char* strGb2312)
{
QTextCodec* utf8Codec= QTextCodec::codecForName("gb2312");
return utf8Codec->toUnicode(strGb2312);
}
// 之前查了各种资料;在网络上搜索了很多都不行;使用上面代码终于解决问题