• 6636阅读
  • 2回复

[提问]Qt怎么向数据库保存中文字符 [复制链接]

上一主题 下一主题
离线poiu710
 
只看楼主 倒序阅读 楼主  发表于: 2011-04-05
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2013-04-01) —
问题表述:
//向表中插入记录
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
// ……
    query.prepare("INSERT INTO user (id,name,birthday,sex) VALUES(?,?,?,?)");
    query.addBindValue(4);
    query.addBindValue("xiaojun");
    query.addBindValue("2003/12/3");
    query.addBindValue("男");
    query.exec();
插入后查询name,sex,中文有乱码,查询结果如下
1 "xiaogang" "ç”·"
2 "xiaoming" "ç”·"
3 "xiaohong" "女"
4 "xiaojun" "ç”·"
怎么办?
[ 此帖被poiu710在2011-04-05 09:12重新编辑 ]
离线feixiangxtu

只看该作者 1楼 发表于: 2011-04-12
    QTextCodec *codec = QTextCodec::codecForName("gbk");
    QString tempStr= "男";
    tempStr = codec->toUnicode(tempStr.toLatin1().data());
    query.addBindValue("tempStr");

试试这样!
  
离线hitler++

只看该作者 2楼 发表于: 2011-04-13
推荐你个笨方法,但也是很有效的方法,你写个字符串加密解密函数,把中文加密掉,放进去,取出来时候再解密
快速回复
限100 字节
 
上一个 下一个