QT访问access中文乱码的问题
Chinese
3
Posts
3
Posters
3.0k
Views
1
Watching
-
wrote on 6 Jun 2013, 12:55 last edited by
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()); }
-
wrote on 2 Jul 2013, 03:22 last edited by
下载不到你的源码。
一般将源码保存成UTF-8,将几个TextCodec都设成UTF-8,就不会有乱码了。 -
wrote on 29 Jul 2013, 07:39 last edited by
你的链接...是打开个人网盘的啊
另外数据库里边的中文是用什么编码的呢?
调整下就行了