Qt查询MYSQL中文乱码问题
2015-11-20 23:43
357 查看
Qt的默认编码是utf-8,而mysql的编码是在安装数据库(或后续可更改)就时设置的。有时候两者可能不一样,我们不可能去为了匹配Qt而去更改MYSQL的编码(确实可以更改)。所以只能在打开数据库连接操作的时候设置编码了,即在QSqlDatabase对象调用open()方法之后设置。
设置方法为:
sqldb.exec("SET NAMES 'XXXX'");
注意:sqldb是一个QSqlDatabase对象,XXXX是MYSQL数据库的编码名称,如我的就是db.exec("SET NAMES 'GBK'");
运行截图:
(1)没有设置前(中文乱码)
(2)设置之后(中文显示正常)
设置方法为:
sqldb.exec("SET NAMES 'XXXX'");
注意:sqldb是一个QSqlDatabase对象,XXXX是MYSQL数据库的编码名称,如我的就是db.exec("SET NAMES 'GBK'");
运行截图:
(1)没有设置前(中文乱码)
(2)设置之后(中文显示正常)
相关文章推荐
- QT下的几种透明效果(三种方法:调色板,透明度属性,自绘)
- QTimeLine学习
- Qt动画效果的幕后英雄:QTimeLine
- QT学习笔记-24.使用QTimeLine
- 深入浅出理解QTimeLine类
- OpenCV2.x自学笔记——Qt5.5.1打包exe
- VS集成Qt环境搭建
- QT-1-环境搭建QT5.4.1&MinGW4.9.1
- QT5.5移植到ARM全攻略
- QT5.5移植全攻略
- Qt QRegExpValidator内置检验器
- Qt 自动建立信号-槽关系
- Qt:让任意线程执行一个匿名函数
- QT的文件对话框
- Qt 深入介绍信号和槽
- Qt 创建对话框
- QT中的各种MessageBox
- QT程序图标和窗口图标
- QT.Debug设置断点无效
- qt QSharedMemory 用法