QT访问access中文乱码的问题
-
QTextCodec::setCodecForTr(QTextCodec::codecForName("gb18030"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("gb18030"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("gb18030"));
(这三个我拿UTF-8和gb18030反复组合了都不行)SoruceTable->setEnabled(true);
//读取access数据库代码
db = QSqlDatabase::addDatabase("QODBC");
QString filePath = SoruceFile->text();
QString dsn = QString("DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=%1").arg(filePath);
db.setDatabaseName(dsn);if(!db.open()) { QMessageBox::about(0, QObject::tr("读取文件错误"),db.lastError().text()); } else { //获取全部表名 SoruceTable->addItems(db.tables()); }
-
下载不到你的源码。
一般将源码保存成UTF-8,将几个TextCodec都设成UTF-8,就不会有乱码了。 -
你的链接...是打开个人网盘的啊
另外数据库里边的中文是用什么编码的呢?
调整下就行了