Qt中用ODBC连接excel中文乱码问题

用ODBC连接读取excel文件中的中文表名时,返回的结果为乱码,是因为qt源代码中获取表名中的函数

QStringList QODBCDriver::tables(QSql::TableType type) const

在获取字符串值时,不是以unicode方式读的QString fieldVal = qGetStringData(hStmt, 2, -1, false)

将false改为true重新编译会生成qsqlodbc.dll,qsqlodbcd.dll和qsqlodbcd.pdb,将这三个文件复制到qt安装目录下的\plugins\sqldrivers\目录下即可




你可能感兴趣的:(Qt中用ODBC连接excel中文乱码问题)