问题:使用QSqlDataBase类建立连接MySql数据库驱动加载失败

QSqlDatabase: QMYSQL driver not loaded

QSqlDatabase: available drivers: QSQLITE QOCI8 QOCI QODBC3 QODBC

QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_default_connection' is still in use, all queries will cease to work.

QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.

解决方案:Qt 4.7.3编译MySql驱动

本文讲解Qt 4.7.3编译MySql驱动的内容,Qt 4.7.3在连接MySql数据库的时候可能出现的问题,原来是其他由于权限的问题,只给出了部分数据库的驱动(只有sqlite)其他的驱动只给出了源文件还有文档说明,需要自己编译,那么本文将会帮你解决这些问题。

闲话少说:解决问题首先是要下载安装MYsql还有QT,这个不用多说了,接触过的都熟悉。

编译过程:

(1)dos下进入:D:\Qt\qt\src\plugins\sqldrivers\mysql>

(2)用记事本打开D:\Qt\qt\src\plugins\sqldrivers\mysql\ mysql.pro文件,在第二行加入:  INCLUDEPATH += "C:\Program Files\MySQL\MySQL Server 5.1\include"

LIBS += "C:\Program Files\MySQL\MySQL Server 5.1\lib\opt\libmysql.lib" 并保存

(3)在dos下输入:

qmake -o Makefile mysql.pro 此时可能也会提示:

  1. WARNING:
  2. d:\Qt\qt\src\plugins\sqldrivers\mysql\mysql.pro:2: Unescaped ba ckslashes are deprecated. WARNING:
  3. d:\Qt\qt\src\plugins\sqldrivers\mysql\mysql.pro:2: Unescaped ba ckslashes are deprecated. WARNING:
  4. d:\Qt\qt\src\plugins\sqldrivers\mysql\mysql.pro:2: Unescaped ba ckslashes are deprecated

但是好像对最后的结果没有影响,然后使用nmake命令编译,会在C:\Qt\qt-4.7.3\plugins\sqldrivers目录下生成

qsqlmysql4.dll

qsqlmysql4.lib

qsqlmysqld4.dll

qsqlmysqld4.lib

这时编译你的工程就可以找到驱动了。

问题:使用QSqlquery类操作数据库存储QString中文数据到MySql数据库出现乱码

解决:

MySQL会出现中文乱码的原因不外乎下列几点:
1.server本身设定问题,例如还停留在latin1
2.table的语系设定问题(包含character与collation)
3.客户端程式(例如php)的连线语系设定问题

强烈建议使用utf8
utf8可以兼容世界上所有字符

一、避免创建数据库及表出现中文乱码和查看编码方法
1、创建数据库的时候:CREATE DATABASE `test`
CHARACTER SET 'utf8'
COLLATE 'utf8_general_ci';
2、建表的时候 CREATE TABLE `database_user` (
`ID` varchar(40) NOT NULL default '',
`UserID` varchar(40) NOT NULL default '',
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

这3个设置好了,基本就不会出问题了,即建库和建表时都使用相同的编码格式。
但是如果你已经建了库和表可以通过以下方式进行查询。

问题:存带有‘\’转义字符的数据到MySql数据库会自动过滤掉

解决:存入字符串时使用'\\'替换'\'

解析Qt4.7.3编译MySql数据库驱动,存中文乱码、过滤转义字符问题的更多相关文章

  1. Qt之编译MySQL数据库驱动(MSVC)

    Qt之编译MySQL数据库驱动(MSVC) (2013-12-13 20:24:46) 转载▼ 标签: qt mysql qmysql qt编译mysql qt之msvc编译mysql 分类: Qt ...

  2. php 保存到mysql数据库中的中文乱码

    近期又php项目,乱码是个头痛的问题 解决方法: 1,php 文件中 添加 header(“Content-Type: text/html; charset=utf-8"); 2,需要做数据 ...

  3. liunx系统二进制包安装编译mysql数据库

    liunx系统二进制包安装编译mysql数据库 # 解压二进制压缩包 [root@localhost ~]# tar xf mysql-5.5.32-linux2.6-x86_64.tar.gz -C ...

  4. PHP往mysql数据库中写入中文失败

    该类问题解决办法就是 在建立数据库连接之后,将该连接的编码方式改为中文. 代码如下: $linkID=@mysql_connect("localhost","root&q ...

  5. 真分布式SolrCloud+Zookeeper+tomcat搭建、索引Mysql数据库、IK中文分词器配置以及web项目中solr的应用(1)

    版权声明:本文为博主原创文章,转载请注明本文地址.http://www.cnblogs.com/o0Iris0o/p/5813856.html 内容介绍: 真分布式SolrCloud+Zookeepe ...

  6. [转]mysql导入导出数据中文乱码解决方法小结

    本文章总结了mysql导入导出数据中文乱码解决方法,出现中文乱码一般情况是导入导入时编码的设置问题,我们只要把编码调整一致即可解决此方法,下面是搜索到的一些方法总结,方便需要的朋友. linux系统中 ...

  7. mysql 恢复数据时中文乱码

    mysql恢复数据时中文乱码,解决办法. 用source命令导入mysql数据库怎么设置中文编码 1.导出数据时指定编码在导出mysql sql执行文件的时候,指定一下编码格式: mysqldump ...

  8. Mysql 导入导出csv 中文乱码

    这篇文章介绍了Mysql 导入导出csv 中文乱码问题的解决方法,有需要的朋友可以参考一下   导入csv: load data infile '/test.csv' into table table ...

  9. Delphi+MySQL:TADOQuery使用插入中文乱码解决方法

    Delphi+MySQL:TADOQuery使用插入中文乱码解决方法 with adoquery dobeginclose;sql.clear;sql.text:=' insert into test ...

随机推荐

  1. WinForm TreeView 三种状态

    private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { var node = e.N ...

  2. MAC 终端快捷建

    常用的快捷键: Ctrl + d        删除一个字符,相当于通常的Delete键(命令行若无所有字符,则相当于exit:处理多行标准输入时也表示eof) Ctrl + h        退格删 ...

  3. Castle ActiveRecord配置文件中连接字符串解密

    使用Castle ActiveRecord通常都是使用配置文件进行数据库连接配置.然后采用如下方式初始化: IConfigurationSource source = ConfigurationMan ...

  4. Python3实现连接SQLite数据库的方法

    本文实例讲述了Python3实现连接SQLite数据库的方法,对于Python的学习有不错的参考借鉴价值.分享给大家供大家参考之用.具体方法如下: 实例代码如下: ? 1 2 3 4 5 6 7 8 ...

  5. OC中格式化输出符号

    定义 说明 %@ Objective-C object, printed as the string returned by descriptionWithLocale: if available, ...

  6. Xcode:只修改 Bundle Identifier,不修改项目名

    找到 xx-Info.plist,打开 直接去修改 Bundle identifier 即可(默认后缀是项目名字).

  7. Pentaho Data Integration (二) Spoon

    上一篇:Pentaho Data Integration笔记 (一):安装 介绍 Spoon Intoduction site: http://wiki.pentaho.com/display/EAI ...

  8. FZU 1753

    题目的思路还是很简单的,找出这些组合数中最大的公约数: 其中C(n,k)=n ! /k!/(n-k)! 所以枚举每个素因数,用(n!)的减去(k!)和(n-k)!的就行了... 最后取每组的最小值 # ...

  9. Central Europe Regional Contest 2012 Problem J: Conservation

    题目不难,感觉像是一个拓扑排序,要用双端队列来维护: 要注意细节,不然WA到死  = =! #include<cstdio> #include<cstring> #includ ...

  10. Electrification Plan(最小生成树)

    http://acm.sdut.edu.cn:8080/vjudge/contest/view.action?cid=50#problem/D 最小生成树模板,注意的是这里有k个发电站,它们不再需要连 ...