• 7001阅读
  • 1回复

[提问]qt +armlinux+freetds+ unixODBC连接sql server读取乱码 [复制链接]

上一主题 下一主题
离线yuxue
 

只看楼主 倒序阅读 楼主  发表于: 2013-10-16
本人在嵌入式linux下 搭建freetds+ unixODBC     qt通过odbc方式连接sql server 现在出现读取数据乱码
设置了 freetds 的 配置文件

[Server]
    host = 192.168.1.4
    port = 1433
    tds version = 7.1
      client charset = utf8
qt代码

  QSqlDatabase db=QSqlDatabase::addDatabase("QODBC");

db.setDatabaseName("TEST1dsn");

db.setUserName(QString("sa"));

db.setConnectOptions("SQL_ATTR_ODBC_VERSION= SQL_OV_ODBC3");


连接成功 数据查询正常 就是中文显示有点问题开发板里的字体全部删除留下一个 文泉驿 字体
这只末日字体这样的话

QTextCodec *codec = QTextCodec::codecForName("UTF-8");
    QTextCodec::setCodecForLocale(codec);
    QTextCodec::setCodecForCStrings(codec);
    QTextCodec::setCodecForTr(codec);
qt 界面上的汉字能正常显示 就是数据库查询显示的是乱码


但是直接通过 odbc 的isql  查询 能正确显示中文


尝试设置了 GB2312  GBK 都不行


下面设设置 utf 8的界面显
那位有经验帮忙看下问题出在哪
快速回复
限100 字节
 
上一个 下一个