吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1349|回复: 6
收起左侧

[求助] 求组QT读取Mysql数据库内容显示乱码

[复制链接]
sam喵喵 发表于 2021-5-7 16:35
本帖最后由 sam喵喵 于 2021-5-8 13:35 编辑

QT: 5.15.2 X64
SQL: 5.6.2 X64
数据库编码是UTF-8
QT编码也是UTF-8
先是Navicat里面中文显示???,后经过转换编码utf-8,中文正常显示。
实际在编辑连接时候改为utf-8后,设计表查看字段编码仍让是latin格式,但是可以显示中文,后面手动改中文字段编码为utf-8.
QT读取数据库中的中文显示乱码
QT操作数据库输入中文也显示乱码

网上查到setCodeC( QTextCodec::codecForName("UTF-8") );//仍然显示乱码


问题已解决,感谢52.


第一个卡在自编SQL驱动,
参照网上资料,包含mysql 里面include
LIB库必须要指明xxxx.dll,不能包含整个lib库,会有一堆报错
include和lib路径不能有中文或者空格,SQL默认安装有时候有空格。
我是直接把include和Lib拷出来放到上一级目录再包含的。
第二个卡在这里中文乱码。
这里总结以下:
除了SQL,QT默认要设置成utf8,数据库最好直接删了在QT里面重新创建,这样所有数据编码都已经是UTF8。
Navicat创建的数据QT读取有问题,QT里创建的数据Navicat显示乱码不用管,QT可以正常读出来。
以下两项
sql_client =GBK
sql_connection=GBK

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

EVZE 发表于 2021-5-7 16:38
连接数据库的 连接串 设置成utf8 了吗

免费评分

参与人数 1热心值 +1 收起 理由
sam喵喵 + 1 谢谢@Thanks!

查看全部评分

 楼主| sam喵喵 发表于 2021-5-7 17:05
EVZE 发表于 2021-5-7 16:38
连接数据库的 连接串 设置成utf8 了吗

连接属性里面-》高级-》编码  utf-8,这里已经修改过
 楼主| sam喵喵 发表于 2021-5-7 17:15
Takitooru 发表于 2021-5-7 17:48
连接数据库的时候加上这句set NAMES UTF8试试

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
sam喵喵 + 1 + 1 谢谢@Thanks!

查看全部评分

 楼主| sam喵喵 发表于 2021-5-7 22:01
Takitooru 发表于 2021-5-7 17:48
连接数据库的时候加上这句set NAMES UTF8试试

还是乱码,刚去数据库里面也都设成UTF8,还是乱码,而且乱码的形状都没变
 楼主| sam喵喵 发表于 2021-5-8 13:16
Takitooru 发表于 2021-5-7 17:48
连接数据库的时候加上这句set NAMES UTF8试试

问题已经解决,好像只有在QT编辑器里插入的中文数据才能在QT界面读出来
所以把SQL语句整个搬入QT编辑器执行,中文还只能以单引号方式用Insert语句插入,用list可以用双引号方式插入
但是在Navicat里面显示??。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 02:30

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表