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

qt5.5在ubuntu下通过odbc连接sqlserver2008读取汉字问题

0
回复
3169
查看
[复制链接]

尚未签到

来源: 2015-11-18 19:41:00 显示全部楼层 |阅读模式

马上注册,查看详细内容!注册请先查看:注册须知

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 wfwjp 于 2015-11-18 19:55 编辑

最近学习ubuntu,安装了qt5.5。需要连接服务器上的sqlserver2008数据库,就根据网上的步骤(http://blog.csdn.net/w_ww_w/article/details/18075957)安装unixodbc和freetds。配置odbc后,发现能连上数据库,varchar类型列的汉字能读取,但是类型为char的列的汉字读取不到,这是为什么?请求解救。

1、在/usr/local/etc下freetds.conf配置 client charset =UTF-8
2、连接数据库
QSqlDatabase netdb=QSqlDatabase::addDatabase('QODBC');
netdb.setDatabaseName(test");
netdb.setUserName("sa");
netdb.setPassword("lscslscs");

3、读取
netquery.prepare("select bh,mc,qc from ttzd");
netquery.exec();
netquery.next();
QString ls_str1=netquery.value(0).toString();
QString ls_str2=netquery.value(1).toString();
QString ls_str3=netquery.value(2).toString();
ttzd中mc是char(10),qc是varchar(10)
ls_str3是汉字,但是ls_str2="",这是怎么回事?怎么解决?

回复

使用道具 举报

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

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