找回密码
 立即注册
收起左侧

Qt 中 query 语句中有中文则无法查询

6
回复
7838
查看
[复制链接]
累计签到:69 天
连续签到:1 天
来源: 2016-8-3 18:10:40 显示全部楼层 |阅读模式
10Qter豆

我用的是Qt5.6 Vs2015编译器 数据库用的是Mysql
下面两条语句 select id from list where Sth = '单片机';//不成功
select id from list where Sth = 'shu';//成功

当我的query 语句中含有中文的时候就会出问题。

回复

使用道具 举报

尚未签到

2016-8-3 22:30:59 显示全部楼层
编码问题
回复

使用道具 举报

累计签到:69 天
连续签到:1 天
2016-8-4 09:32:52 显示全部楼层
Joey_Chan 发表于 2016-8-3 22:30
编码问题

请问能给个解决方法么?
回复

使用道具 举报

尚未签到

2016-8-4 21:45:30 显示全部楼层
最笨的方法是统一为UTF8 ,方法很多,搜索帖子就有
回复

使用道具 举报

累计签到:69 天
连续签到:1 天
2016-8-6 21:19:25 显示全部楼层
设置成UTF8并没有什么用,我的Qt字符设置成的UTF8,Mysql本来就自动设置成了UTF8了,不过还是没有什么用
Qt5.0以来就把
QTextCodec *codec = QTextCodec::codecForName("GB2312");    QTextCodec::setCodecForLocale(codec);   
QTextCodec::setCodecForTr(codec);   
QTextCodec::setCodecForCStrings(codec);
中的几个给删掉了,只剩下了QTextCodec::setCodecForLocale(codec);   这一个函数了
所以该怎么办呢?
回复

使用道具 举报

累计签到:69 天
连续签到:1 天
2016-8-6 21:20:00 显示全部楼层
Joey_Chan 发表于 2016-8-4 21:45
最笨的方法是统一为UTF8 ,方法很多,搜索帖子就有

设置成UTF8并没有什么用,我的Qt字符设置成的UTF8,Mysql本来就自动设置成了UTF8了,不过还是没有什么用
Qt5.0以来就把
QTextCodec *codec = QTextCodec::codecForName("GB2312");    QTextCodec::setCodecForLocale(codec);   
QTextCodec::setCodecForTr(codec);   
QTextCodec::setCodecForCStrings(codec);
中的几个给删掉了,只剩下了QTextCodec::setCodecForLocale(codec);   这一个函数了
所以该怎么办呢?
回复

使用道具 举报

尚未签到

2016-8-7 00:12:46 显示全部楼层
要不你先试试,存进去之前的字符编码和存之后再拿出来的编码是不是一致。所谓中文匹配其实还是匹配字符编码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了