Qt查询MYSQL中文乱码问题

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

  设置方法为:

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

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

  

  运行截图:

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

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

原文地址:https://www.cnblogs.com/gis-user/p/4982674.html