MySQL和QML界面显示中文乱码问题

最近需要用QML界面显示数据库的内容,但不光是数据库显示中文乱码,QML界面也是显示中文乱码,参考了某位博主的链接,再结合自身实际,终于解决了问题,那位博主的链接如下

MySQL客户端输出窗口显示中文乱码问题解决办法 - 孤傲苍狼 - 博客园 (cnblogs.com)icon-default.png?t=LA92https://www.cnblogs.com/xdp-gacl/p/4008095.html 1、解决MYSQL中文乱码

我在mysql窗口输入同样的指令,得到的结果如下

 发现自己的字符结果是utf8,然后输入

set character_set_results=gbk;

 将字符结果改为gbk格式,其他的不变,终于能显示中文了

2、QML显示中文乱码

QML显示的是数据库里的内容,尽管数据库显示正常了,但是QML的界面依然是显示中文乱码

 因为我采用的是调用mysql的API的方式连接数据库,有一个地方设置了数据库的字符名称

mysql_options(&m_sock, MYSQL_SET_CHARSET_NAME, "gbk");

可能是这个地方有问题,我将这个地方改为utf8以后,QML也能显示中文了!!

让我觉得比较奇怪的是,之前数据库设置的CHARSET_RESULT是utf8,但是C++设置的是gbk,这样的话程序能正常运行,C++一旦也设置成utf8,程序便会报错,这两者难道不能一样吗,感觉这个问题只能留着以后学的多了再解决了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值