Qt查询MYSQL中文乱码问题

      Qt的默认编码是utf-8,而mysql的编码是在安装数据库(或后续可更改)就时设置的。有时候两者可能不一样,我们不可能去为了匹配Qt而去更改MYSQL的编码(确实可以更改)。所以只能在打开数据库连接操作的时候设置编码了,即在QSqlDatabase对象调用open()方法之后设置。

dos下不支持UTF8的显示;

设置方法为:

  sqldb.exec("SET NAMES 'XXXX'");

  注意:sqldb是一个QSqlDatabase对象,XXXX是MYSQL数据库的编码名称,如我的就是db.exec("SET NAMES 'GBK'");

(1)没有设置前(中文乱码)

Qt查询MYSQL中文乱码问题_第1张图片

(2)设置之后(中文显示正常)

Qt查询MYSQL中文乱码问题_第2张图片

你可能感兴趣的:(Qt学习资料)