是qsql_odbc.cpp中的一个bug。注意2296这一行QString fieldVal = qGetStringData(hStmt, 2, -1, false);
改为QString fieldVal = qGetStringData(hStmt, 2, -1, true);就行了
只需要编译sqldrivers/odbc这一个插件就行了。
用qtcreater打开src/plugins/sqldrivers/odbc/odbc.pro,可参考qt编译mysql数据库的方法,进行编译
附件有编译好的odbc.dll,替换掉plugins/sqldrivers/odbc/qsqlodbc4.dll和plugins/sqldrivers/odbc/qsqlodbcd4.dll即可
通过使用QString的qGetStringData方法可以解决QT在访问access数据库时遇到的表名中文乱码问题。只需编译sqldrivers/odbc插件,并参照qt编译mysql的方法。提供了一个编译好的odbc.dll文件,替换原有dll即可修复问题。
2067

被折叠的 条评论
为什么被折叠?



