Qt 使用mysql驱动获取中文中文数据乱码

问题:
1.我数据库是按照utf8去存的;
2.我开发环境编码也都是utf8;
3.读取出来的中文无论何种当时解码均是乱码。
思考:
1.不管数据库以怎么样编码方式存储,他的数据应该就是个二进制数据(计算机世界里一切皆二进制),但是我用qt读过来的值无论怎么解码这个二进制,他都好像不是原来中文。也就是说我拿到的二进制已经变了。我猜想应该是数据库驱动在拿数据的时候多此一举,将数据按照他以为的方式解码了再给使用者,于是造成了这个现象。
尝试解决:
在数据库调用open函数成功后
database.exec(“SET NAMES ‘latin1’”);
拿到原有数据,再用utf8解码其二进制数据!
嘿,果然中文显示了!
总结:字符串编解码问题,永远会存在,勇敢面对咯!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值